web-dev-qa-db-fra.com

Autorisation de notifications push (GCM) au moment de l'exécution?

J'ai lu qu'il est nécessaire de demander à l'utilisateur des autorisations au moment de l'exécution pour l'API 23 et plus. Par exemple: Android.permission.ACCESS_FINE_LOCATION. Est-il nécessaire (ou même possible) de demander une autorisation d'exécution pour utiliser les notifications GCM/Push au moment de l'exécution si l'API est de 23 ou plus?

J'ai essayé d'utiliser la méthode requestPermissions au moment de l'exécution, mais cela ne semble pas fonctionner (rien ne se produit) lorsque je l'utilise avec des autorisations liées aux notifications GCM/Push.

J'ai les autorisations suivantes dans mon manifeste à cette fin:

<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"/>

La seule autorisation connue de l'utilisateur est le ACCESS_FINE_LOCATION lors du téléchargement de l'application depuis le Play Store. L'utilisateur ne devrait-il pas pouvoir choisir s'il autorise ou non les notifications Push?

Toute aide sera fortement appréciée.

44
Langkiller

En fait, l'autorisation Notification Push est dans Autorisation de catégorie normale comme l'autorisation INTERNET n'est pas dans Autorisation de catégorie dangereuse.

Vous ne pas devez demander Notification Push autorisations.

Alors que les contacts/emplacements sont les autorisations dangereuses parce que vous accédez à l'utilisateur data, il est toujours nécessaire de demander à l'utilisateur de l'autoriser.

J'espère que vous comprenez. https://developer.Android.com/guide/topics/security/permissions.html

104
Umer