Push notifications (GCM) permission at runtime?

AndroidPush NotificationGoogle Cloud-MessagingAndroid Permissions

Android Problem Overview


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?

Android Solutions


Solution 1 - Android

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLangkillerView Question on Stackoverflow
Solution 1 - AndroidUmer WaqasView Answer on Stackoverflow