Reputation: 3457
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?
Upvotes: 63
Views: 63683
Reputation: 1794
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
Upvotes: 145