2014-10-29 11 views
5

sto cercando di ricevere notifiche push sul mio dispositivo, utilizzando il comando di sotto adb shell:Ricezione notifiche push utilizzando il comando adb shell

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

Ma Non si ricevono alcun messaggi push o errori.

Questa è l'uscita ottengo:

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

risposta

8

Qui è l'uso di base della adb trasmissione comando:

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...]] 

e si può trovare la RECEIVER_NAME nel vostro AndroidManifest. 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> 
Comando

Esempio:

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

Usa dovrebbe utilizzare il tasto -n invece -c.

Key -c è la chiave di categoria.

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

Utilizzare il comando:

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