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.

InformationsquelleAutor user634618 | 2011-02-25