I have read that it is necessary to ask the user for some permissions at runtime for API 23 and up. For example: android.permission.ACCESS_FINE_LOCATION
.
Is it necessary (or even possible) to ask for a runtime permission for using GCM/push notifications at runtime if API is 23 or higher?
I have tried using the requestPermissions
method at runtime, but it doesn't seem to work (nothing happens) when I use it with any GCM/push notification related permissions.
I have the following permissions in my Manifest for this purpose:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<permission
android:name="${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
The only permission that the user knows of, is the ACCESS_FINE_LOCATION
when downloading the app from Play Store. Shouldn't the user be able to choose whether or not they would allow push notifications?
Actually the Push Notification permission lie in Normal Category Permission like INTERNET permission not in Dangerous Category Permission.
You don't have to ask for Push Notification permissions.
While Contacts/Locations are the Dangerous permissions because you are accessing user data.so always needed to ask to user to allow it.
Hope so you understand. https://developer.android.com/guide/topics/security/permissions.html