-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Description
Repro: Run Buglife on an Android 10 phone, targetSdkVersion 29, enable bug reporting by screenshot, and take a screenshot.
Results in the following stacktrace:
2019-10-25 10:52:29.480 29152-29169/audio.breaker E/com.Buglife: Error copying screenshot!
java.io.FileNotFoundException: /storage/emulated/0/Pictures/Screenshots/Screenshot_20191025-105229.png: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:496)
at java.io.FileInputStream.<init>(FileInputStream.java:159)
at com.buglife.sdk.IOUtils.copy(IOUtils.java:85)
at com.buglife.sdk.Client.makeCachedScreenshot(Client.java:272)
at com.buglife.sdk.Client.onScreenshotInvocationMethodTriggered(Client.java:147)
at com.buglife.sdk.InvocationMethodManager$2.onScreenshotTaken(InvocationMethodManager.java:109)
at com.buglife.sdk.ScreenshotContentObserver$2.onChange(ScreenshotContentObserver.java:131)
at android.database.ContentObserver.onChange(ContentObserver.java:147)
at android.database.ContentObserver.dispatchChange(ContentObserver.java:198)
at android.database.ContentObserver.access$000(ContentObserver.java:28)
at android.database.ContentObserver$Transport.onChange(ContentObserver.java:233)
at android.database.IContentObserver$Stub.onTransact(IContentObserver.java:98)
at android.os.Binder.execTransactInternal(Binder.java:1021)
at android.os.Binder.execTransact(Binder.java:994)
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Linux.open(Native Method)
at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252)
at libcore.io.ForwardingOs.open(ForwardingOs.java:167)
at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7255)
at libcore.io.IoBridge.open(IoBridge.java:482)
at java.io.FileInputStream.<init>(FileInputStream.java:159)
at com.buglife.sdk.IOUtils.copy(IOUtils.java:85)
at com.buglife.sdk.Client.makeCachedScreenshot(Client.java:272)
at com.buglife.sdk.Client.onScreenshotInvocationMethodTriggered(Client.java:147)
at com.buglife.sdk.InvocationMethodManager$2.onScreenshotTaken(InvocationMethodManager.java:109)
at com.buglife.sdk.ScreenshotContentObserver$2.onChange(ScreenshotContentObserver.java:131)
at android.database.ContentObserver.onChange(ContentObserver.java:147)
at android.database.ContentObserver.dispatchChange(ContentObserver.java:198)
at android.database.ContentObserver.access$000(ContentObserver.java:28)
at android.database.ContentObserver$Transport.onChange(ContentObserver.java:233)
at android.database.IContentObserver$Stub.onTransact(IContentObserver.java:98)
at android.os.Binder.execTransactInternal(Binder.java:1021)
at android.os.Binder.execTransact(Binder.java:994)
I believe this crash is expected behavior in phones targeting Android 10, as it has restricted app access to system directories and changed the API such that the user must grant access to that specific directory, rather than a blanket grant to READ_EXTERNAL_STORAGE.
https://developer.android.com/training/data-storage/files/external-scoped#permissions-required
Metadata
Metadata
Assignees
Labels
No labels