C2DM: Comment utiliser C2D_MESSAGE autorisation?
Je suis sur le point de mettre en œuvre C2DM pour mon application, mais je trouve la la documentation un peu confus quant à la façon d'écrire le manifeste.
Le manifeste exemple de code contient ceci:
<!-- Only this application can receive the messages and registration result -->
<permission android:name="com.example.myapp.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="com.example.myapp.permission.C2D_MESSAGE" />
Ceci est expliqué comme suit:
applicationPackage + ".la permission.C2D_MESSAGE empêche d'autres applications d'enregistrement et de réception de l'application messages.
Mais exactement comment cela fonctionne? Que je comprends, il déclare une autorisation, puis obtient la permission de mon application. Mais où se situe exactement cette autorisation forcée?
Le code d'enregistrement est:
Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER");
registrationIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0)); //boilerplate
registrationIntent.putExtra("sender", emailOfSender);
startService(registrationIntent);
Comment le Service qui reçoit les registrationIntent savoir ce que l'autorisation de vérifier? Ce que je comprends (et corrigez-moi si je me trompe ici), lors de la déclaration de l'autorisation, j'aurais pu choisir n'importe quelle autorisation nom au sein de mon espace de noms, par exemple, com.exemple.myapp.la permission.QUOI que ce soit.
Ou est C2D_MESSAGE de la magie constante que je dois utiliser?
Aussi, la documentation dit que je dois mettre en œuvre des récepteurs pour com.google.android.c2dm.intent.C2D_MESSAGE
et com.google.android.c2dm.intent.REGISTRATION
Intentions. Mais Dans l'exemple de code, le récepteur uniquement des filtres contiennent .intent.RECEIVE
et .intent.REGISTRATION
Intentions. Où avez - C2D_MESSAGE
aller, et il a quelque chose lié à ma question ci-dessus?
J'espère que ce n'est pas quelque chose d'évident, mais je n'ai pas... s'il vous plaît aider.
Vous devez vous connecter pour publier un commentaire.
Les récepteurs ils prétendent que vous devez en haut dans le résumé semble être une erreur dans la documentation, car il ne correspond pas à l'exemple manifeste.
J'ai eu les exemples qu'ils donnent à travailler en utilisant simplement l'exemple manifeste entrées modifié pour correspondre à mon application particulière du nom du package.
Lorsque le C2DM code Android envoie la diffusion (ou, plutôt, quand il regarde pour les bénéficiaires potentiels d'envoyer de l'émission), il ressemble:
Tous C2DM les messages envoyés à votre demande par l'Android C2DM code sera à la recherche de cette autorisation. Il est spécifique à votre application, et a simplement besoin d'être dans cette structure (votre package de l'application + ".la permission.C2D_MESSAGE").
Concernant la façon dont la demande d'enregistrement obtient le nom du package à utiliser pour les autorisations, qui est géré lorsque vous vous inscrivez avec le "app" extra à partir de la documentation:
la ligne en question: