Solution 1 :
What you’re probably experiencing is that the WRITE_EXTERNAL_STORAGE permission is all but deprecated starting with Android 10. This is part of Google’s Scoped Storage enforcement:
https://developer.android.com/preview/privacy/storage
You’re supposed to declare runtime permissions in AndroidManifest. Try the same thing with another dangerous permission and see if it acts the same way.
Solution 2 :
Beginning with Android 4.4 (API 19), there is no need to request WRITE_EXTERNAL_STORAGE permission when your app wants to write its own application-specific directories on external storage(provided by getExternalFilesDir() method). However, to make your app compatible with levels <= 18, you will need the uses-permission tag.
<uses-permission android_name="android.permission.WRITE_EXTERNAL_STORAGE" android_maxSdkVersion="18" />
Problem :
I’m using WRITE_EXTERNAL_STORAGE
runtime permission. However, the app seems to be working fine even when I didn’t mention <uses-permission android_name="android.permission.WRITE_EXTERNAL_STORAGE" />
in my manifest file.
Question: What are the implications of adding / not adding runtime permissions in manifest and the common best practices around permissions.
Comments
Comment posted by Siddharth Kamaria
I think that makes sense, let me try that out!
Comment posted by Siddharth Kamaria
I’m accessing non-application directories as well, so this is not applicable for my use case.