I have an app that uses the external storage to save some larger cache files in the directory provided by getExternalCacheDir()
. Now since Android 4.4 the permission is no longer required to access this directory, so I decided to set a maxSdk
for the permission:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
But when I published an update for my app on the Google Play Store, the permission dialog showed the above permission as a new permission on Android KitKat and Lollipop, i.e. API level 19–22, even though it was supposed to not be requested on those versions:
When I look at the app details in the system settings, the permission is not listed, so the system seems to interpret the maxSdk
attribute correctly.
How can I fix this? It's pretty bad that the users of my app have to accept this "new" permission on every update even though it's not needed at all...
答案 0 :(得分:1)
Apparently this is a bug in the Google Play Store as reported with issue 63898 and issue 63895, and it doesn't seem to be fixed yet.
So we can't do much about it, besides not using the maxSdk
attribute or trying to avoid the permission in the first place.
At least it's no problem on Android 6.0 and newer versions that support runtime permissions, since the Play Store does not list any permissions at install-time here.