2014-10-29 2 views
5

Ich versuche, Push-Benachrichtigungen auf meinem Gerät zu empfangen, die unter adb shell Befehl:Empfangen von Push-Benachrichtigungen mit adb Shell-Befehl

adb shell am broadcast -c com.xxxx.android -a com.google.android.c2dm.intent.RECEIVE -e data "Data" 

Aber ich bin keine Push-Nachrichten oder Fehler zu empfangen.

Dies ist die Ausgabe erhalte ich:

Intent { act=com.google.android.c2dm.intent.RECEIVE cat=[com.myapp] (has extras) } Broadcast completed: result=0 

Antwort

8

Hier ist die grundlegende Verwendung von adb Broadcast Befehl:

adb shell am broadcast 
-a <INTENT_NAME> 
-n <PACKAGE_NAME>/<RECEIVER_NAME> 
[--ei <EXTRA_KEY> <EXTRA_INT_VALUE>] 
[--es <EXTRA_KEY> <EXTRA_STRING_VALUE>] 
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE>] 
[--el <EXTRA_KEY> <EXTRA_LONG_VALUE>] 
[--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE>] 
[--eu <EXTRA_KEY> <EXTRA_URI_VALUE>] 
[--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>] 
[--e*a <EXTRA_KEY> <EXTRA_*_VALUE>[,<EXTRA_*_VALUE...]] 

Und Sie können die RECEIVER_NAME in Ihrem AndroidManifest finden. xml:

<receiver 
    android:name="foo.bar.SomeBroadcastReceiver" 
    android:exported="true" 
    android:permission="com.google.android.c2dm.permission.SEND"> 
    <intent-filter> 
     <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
     <category android:name="xyz.abc" /> 
    </intent-filter> 
</receiver> 

Beispiel Befehl:

adb shell am broadcast -a com.google.android.c2dm.intent.RECEIVE -n <YOUR_PACKAGE_NAME>/<YOUR_RECEIVER_NAME> --es "<EXTRA_KEY>" "<EXTRA_VALUE>" 
0

Mit der Taste -n statt -c verwenden sollte.

Schlüssel -c ist der Kategorieschlüssel.

[-c <CATEGORY> [-c <CATEGORY>] ...] 

Verwenden Befehl:

adb shell am broadcast -m com.myapp -a com.google.android.c2dm.intent.RECEIVE -e key "data"