For a long time, Google Maps Android SDK requires us to have WRITE_EXTERNAL_STORAGE permission. It was not the case when they first released the SDK.
I
didn’t want to have that storage permission first, because In app permission “The
permission description says that the application can access files
on the devices such as images, videos or audio”.
I
had lots of 1,
2, 3 stars in
app ratings because of this. Users say that “Why
do you request access for my photos and videos?”.
They are right! They are always right. I don’t want to access your
photos and I won’t. I am forced to have that permission.
Android
Marshmallow brought
us run-time permissions. They are great! Users do not see permissions
when they install or update the app. Users have more control over the
app’s functionality.
for
example, a user could choose to give a camera app access to the
camera but not to the device location.
But
imagine you have an app with Google
Maps integration,
and imagine you have to request WRITE_EXTERNAL_STORAGE
on
runtime to show the map. How would you explain that to users? Runtime
permissions that are not obvious and require explanation are the
worse. This is one of them.
Fortunately,
they fixed the issue and removed storage permission. But not for all,
just for Android Marshmallow.
They also say in the documentation that they will remove it completely in the next release.
From the next release of the Google Play services SDK, the requirement for the WRITE_EXTERNAL_STORAGE permission will be completely dropped from the Google Maps Android API.
Note: Please do the described changes in your application if you have Google Maps and want to target Android M!
Thanks for reading :)
Whether this post is helpful?
Have something to add to this post? If you have any other quick thoughts/hints that you think people will find useful? Share it in the comments. feedback are welcome...