erhielt ich diesen Crash-Bericht von einem Android-6.0.1 Benutzer:Lese com.google.android.apps.photos.contentprovider.MediaContentProvider benötigt der Anbieter exportiert werden, oder grantUriPermission()
STACK_TRACE=java.lang.SecurityException: Permission Denial: reading com.google.android.apps.photos.contentprovider.MediaContentProvider uri content://com.google.android.apps.photos.contentprovider/0/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F19181/ORIGINAL/NONE/443149508 from pid=18891, uid=10128 requires the provider be exported, or grantUriPermission()
at android.os.Parcel.readException(Parcel.java:1620)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:146)
at android.content.ContentProviderProxy.openTypedAssetFile(ContentProviderNative.java:692)
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1104)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:942)
at android.content.ContentResolver.openInputStream(ContentResolver.java:662)
at fr.free.nrw.commons.upload.UploadService.uploadContribution(UploadService.java:176)
at fr.free.nrw.commons.upload.UploadService.handle(UploadService.java:114)
at fr.free.nrw.commons.upload.UploadService.handle(UploadService.java:27)
at fr.free.nrw.commons.HandlerService$ServiceHandler.handleMessage(HandlerService.java:19)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)
Von umsah Offenbar hängt dies mit der Google Fotos-Berechtigung com.google.android.apps.photos.permission.GOOGLE_PHOTOS
zusammen. Ich habe diese Berechtigung bereits in meinem Manifest, aber dieser Benutzer führt API 23 aus, für die Laufzeitberechtigungen erforderlich sind.
Problem ist, wie rufe ich die Laufzeitberechtigung dafür auf? Ich weiß, wie es für die Standardberechtigungen zu tun, wie bei https://developer.android.com/training/permissions/requesting.html#perm-check beschrieben, aber wenn ich versuche
ActivityCompat.requestPermissions(thisActivity,
new String[]{com.google.android.apps.photos.permission.GOOGLE_PHOTOS},
zu tun es nicht kompiliert.
Wie lautet der Name der Berechtigung, die ich zur Laufzeit anfordern muss, um auf ein Bild von Google Fotos zugreifen zu können?
Hallo @Singan Ergin, Das ist in Ordnung, wenn wir das Bild von unserer Anwendung anfordern. Was passiert, wenn der Nutzer das Bild von Google Fotos teilt? Ich habe Probleme mit teilen Bild von Google Fotos und WhatsApp Images, Bitte lassen Sie mich wissen, wenn Sie irgendwelche Lösungen finden. –
Hallo @SimonChius, wenn Sie von geöffneter Aktivität zu einer anderen Aktivität umleiten, ist Ihre Freigabeberechtigung/Berechtigung verloren gegangen. I recommed Sie 2 Lösung: - der Austausch von Inhalten auf dem Speicher temporären Speicher und eine anderen Aktivität verwenden - wenn Sie in der Lage, die Aktivität Kontext von anderen Aktivitäten nicht tun Ihre autorisierte Aktivität zu töten, verweisen. –
Danke @Singan Ergin, ich werde das versuchen. –