Raees Khatib
Raees Khatib

Reputation: 83

Flutter Image File share Permission Denial

When i am try to share my directory image via share plug in ! Image is not going to share ! Asking me permission what is that ??? Can any one give me solution on it

    FlatButton(
           onPressed: () async {
            Directory dir = await getApplicationDocumentsDirectory();
            File testFile = new File("${dir.path}/image.png");
            FlutterShareFile.shareImage(dir.path, "image.png", ShareFileType.image);
          },
        )

I am getting this type of warning :

E/DatabaseUtils( 8123): java.lang.SecurityException: Permission Denial: reading androidx.core.content.FileProvider uri content://com.photogranth.watermark.contentprovider/images/image.png from pid=6574, uid=1000 requires the provider be exported, or grantUriPermission() E/DatabaseUtils( 8123): at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:742) E/DatabaseUtils( 8123): at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:615) E/DatabaseUtils( 8123): at android.content.ContentProvider$Transport.enforceFilePermission(ContentProvider.java:606) E/DatabaseUtils( 8123): at android.content.ContentProvider$Transport.openTypedAssetFile(ContentProvider.java:520) E/DatabaseUtils( 8123): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:307) E/DatabaseUtils( 8123): at android.os.Binder.execTransactInternal(Binder.java:1021) E/DatabaseUtils( 8123): at android.os.Binder.execTransact(Binder.java:994)

Upvotes: 3

Views: 1296

Answers (1)

Huthaifa Muayyad
Huthaifa Muayyad

Reputation: 12353

Did you add this to your AndroidManifest.xml file?

<application>
...
<provider
    android:name="androidx.core.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>
</application>

Upvotes: 2

Related Questions