Android
Notes and resources for MPD android maintainers.
Build
Android studio
Version control
git ignoring .idea directory completely until a good reason emerges not to
Native libraries
Permissions
Files access
The required permission depends on android SDK version:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU)
Manifest.permission.READ_MEDIA_AUDIO
else
Manifest.permission.READ_EXTERNAL_STORAGE
Permission request
Since Android 6.0 (API level 23):
Android will ignore permission request and will not show the request dialog
if the user's action implies "don't ask again."
This leaves the app in a crippled state and the user confused.
Google says "don't try to convince the user", so it returns false for shouldShowRequestPermissionRationale
.
To help the user proceed, we show the Request permission
button only if shouldShowRequestPermissionRationale == true
because there's a good chance the permission request dialog will not be ignored.
If shouldShowRequestPermissionRationale == false
we instead show the "rationale" message and a button to open
the app info dialog where the user can explicitly grand the permission.