Push notifications (GCM) permission at runtime?

2019-02-04 00:13发布

问题:

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 wether or not they would allow push notifications?

Any help will be greatly appreciated.

回答1:

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