Android - La notification push est activée?
Comment vérifier par programme si l'utilisateur de désactiver les notifications push dans les paramètres de l'application?
Puis-je ouvrir les paramètres de l'application intention directement à partir de l'application pour indiquer à l'utilisateur pour l'activer?
Grâce
source d'informationauteur goodm
Vous devez vous connecter pour publier un commentaire.
En supposant que vous faites référence à Google Cloud Messaging (puisque vous êtes à l'aide de l'android et push notification tag), il n'existe pas de paramètres généraux utilisés pour activer/désactiver le GCM service (contrairement à Apple Push Notifications de service pour les appareils iOS).
Lorsque vous installez une application, si l'application utilise Google Cloud Messaging, il sera répertorié dans la liste des autorisations que cette application a besoin pour fonctionner. En choisissant d'installer l'application vous permettra d'envoyer des notifications push pour vous.
Cela dit, pour l'application de recevoir des GCM messages, votre application doit enregistrer par programmation de la GCM service. Vous pouvez le faire n'importe où vous le souhaitez au sein de votre application, et vous pouvez créer un
app settings
activité (ou un fragment ou quoi que ce soit) dans laquelle l'utilisateur peut activer/désactiver le GCM (qui déclenche l'inscription/désinscription à/de la GCM). Votre application peut contenir un magasin persistant qui tiendrait de l'IDENTIFIANT d'inscription vous recevez lors de l'inscription à GCM, et vous pouvez l'utiliser magasin pour déterminer si votre application dans un régime enregistré d'GCM.Vous pouvez demander à l'utilisateur de mettre en marche si l'application est déjà en cours d'exécution (si vous avez un code qui fait ça). Si ce n'est pas en cours d'exécution et l'application n'est pas homologué pour GCM sur cet appareil, votre serveur ne peut pas envoyer de GCM messages.
Si vous voulez surmonter cet obstacle, vous pouvez vous inscrire à GCM automatiquement (lorsque l'application est lancé pour la première fois). Ensuite, vous pouvez envoyer des messages à l'application à chaque fois que vous le souhaitez. Si vous voulez continuer à permettre à l'utilisateur de décider s'ils veulent voir ces notifications, vous pouvez avoir un drapeau dans vos paramètres d'application qui active/désactive l'INTERFACE utilisateur de notification que vous créez comme un résultat de l'arrivée d'un GCM message. Le GCM service sera toujours activé, mais à moins que l'utilisateur choisit d'afficher les notifications, vous application ne sont pas afficher quoi que ce soit quand un GCM message arrive.
vous ne pouvez pas accéder à cette propriété, sauf si vous déclarez le système de processus ou de la racine de l'autorisation, d'abord, vous pouvez voir l'autorisation de fichier: /data/system/notifycaiton_policy.xml: -wr------。
Dans l'autre sens, voir le code source: /android/4.2/frameworks/base/services/java/com/android/server/NotificationManagerService.java. dans l'api:
public void setNotificationsEnabledForPackage(String pkg, boolean enabled)
il y aura vérification de l'appelant UID si êtreProcess.SYSTEM_UID
: