Android taking picture with FileProvider

The main thing to get camera and gallery URI working is provider paths.

you need to create a provider_paths.xml to /res/xml/ dir

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="external_files" path="."/>
</paths>

In your manifest file add this lines between

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="${applicationId}.provider"
    android:exported="false"
    android:grantUriPermissions="true">
   <meta-data
       android:name="android.support.FILE_PROVIDER_PATHS"
       android:resource="@xml/provider_paths">
</provider>

One more thing, I've found that we need to set vmPolicy in Application class like this

@Override
public void onCreate() {
    super.onCreate();
   //Allowing Strict mode policy for Nougat support
   StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
   StrictMode.setVmPolicy(builder.build());
}

Double check your camera and external storage permission in manifest file and there you go with nougat URI.

For more details check this link : Android N FileUriExposedException