esysberlin / esys-flutter-share

A Flutter plugin for sharing files & text with other applications.
Apache License 2.0
130 stars 147 forks source link

java.lang.SecurityException: Permission Denial: reading de.esys.esysfluttershare.EsysFlutterShareFileProvider uri content #97

Open insinfo opened 2 years ago

insinfo commented 2 years ago

I'm getting this error in the Android log

java.lang.SecurityException: Permission Denial: reading de.esys.esysfluttershare.EsysFlutterShareFileProvider uri content

I/flutter (14772): Share file
I/flutter (14772): Share file: isDownload true
I/flutter (14772): Share file: name: Edição 1406 - PPA 2022-2025
I/flutter (14772): Share file: mimiType application/pdf
I/flutter (14772): Share file: url https://appro.riodasostras.rj.gov.br/storage/riodasostrasapp/jornais/2a7da925-aeb0-43c5-8304-79a82f480de4.pdf
E/DatabaseUtils(14772): Writing exception to parcel
E/DatabaseUtils(14772): java.lang.SecurityException: Permission Denial: reading de.esys.esysfluttershare.EsysFlutterShareFileProvider uri content://br.gov.rj.riodasostras.riodasostrasapp.fileprovider.github.com%2Forgs%2Fesysberlin%2Fesys-flutter-share/files/Edi%C3%A7%C3%A3o%201406%20-%20PPA%202022-2025 from pid=24722, uid=1000 requires the provider be exported, or grantUriPermission()
E/DatabaseUtils(14772):         at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:912)
E/DatabaseUtils(14772):         at android.content.ContentProvider.semEnforceReadPermission(ContentProvider.java:830)
E/DatabaseUtils(14772):         at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:708)
E/DatabaseUtils(14772):         at android.content.ContentProvider$Transport.query(ContentProvider.java:247)
E/DatabaseUtils(14772):         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
E/DatabaseUtils(14772):         at android.os.Binder.execTransactInternal(Binder.java:1215)
E/DatabaseUtils(14772):         at android.os.Binder.execTransact(Binder.java:1179)
E/DatabaseUtils(14772): Writing exception to parcel
E/DatabaseUtils(14772): java.lang.SecurityException: Permission Denial: reading de.esys.esysfluttershare.EsysFlutterShareFileProvider uri content://br.gov.rj.riodasostras.riodasostrasapp.fileprovider.github.com%2Forgs%2Fesysberlin%2Fesys-flutter-share/files/Edi%C3%A7%C3%A3o%201406%20-%20PPA%202022-2025 from pid=24722, uid=1000 requires the provider be exported, or grantUriPermission()
E/DatabaseUtils(14772):         at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:912)
E/DatabaseUtils(14772):         at android.content.ContentProvider.semEnforceReadPermission(ContentProvider.java:830)
E/DatabaseUtils(14772):         at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:708)
E/DatabaseUtils(14772):         at android.content.ContentProvider$Transport.query(ContentProvider.java:247)
E/DatabaseUtils(14772):         at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107)
E/DatabaseUtils(14772):         at android.os.Binder.execTransactInternal(Binder.java:1215)
E/DatabaseUtils(14772):         at android.os.Binder.execTransact(Binder.java:1179)
I/ViewRootImpl@98541cf[MainActivity](14772): MSG_WINDOW_FOCUS_CHANGED 0 1
Future<void> onShare(Jornal a) async {
    print('Share file');

    if (a.isDownload == false) {
      if (Platform.isAndroid || Platform.isIOS) {
        setState(() {
          a.isDownload = true;
          print('Share file: isDownload ${a.isDownload}');
        });

        var resp = await http.get(Uri.parse(a.link!));
        Uint8List bytes = await resp.bodyBytes;
        var mimiType = resp.headers['content-type']!;
        var name = '${a.edicao}.pdf';
        print('Share file: name: $name');
        print('Share file: mimiType $mimiType');
        print('Share file: url ${a.link!}');
        setState(() {
          a.isDownload = false;
        });
        await esys_share.Share.file(name, name, bytes, mimiType);
      }
    }
  }
kaushikgodhani commented 2 years ago

https://pub.dev/packages/vocsy_esys_flutter_share

Use this Package its working on latest version