Ich las GCM
Dokumente und eine Sache brachte mich dazu, diese Frage zu stellen: Warum muss ich das Berechtigungs-Tag in meinem Manifest definieren und dann die von mir definierte Berechtigung verwenden? HierWarum sollte ich ein Berechtigungs-Tag in meiner Android App für GCM definieren?
ist der Code:
<permission android:name="<your-package-name>.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="<your-package-name>.permission.C2D_MESSAGE" />
Sollte nicht diese Berechtigung im Dienst App definiert werden und ich nur hinzufügen, uses-permission
Und wenn mit permission
Tag benötigt wird, was die signature
Ebene hier tut?
Ich definiere eine Erlaubnis und lass niemanden es benutzen, aber ich!
Sie sind nicht ganz richtig. Berechtigungen auf Signaturebene können weiterhin vom Android-Betriebssystem verwendet werden. Und hier kommt diese Berechtigung ins Spiel - sie schützt den "BroadcastReceiver" oder "Service", den Sie zum Empfangen der GCM 'Intents' verwenden, so dass Sie absolut sicher sein können, dass Sie echte Nachrichten erhalten und keine andere App böswillige' Intent' sendet 'gemacht, um wie GCM Nachrichten auszusehen. –