2013-07-18 6 views
8

Ich versuche, die BATTERY_CHANGED Absicht durch die ADB-Shell zu senden. Bisher konnte ich nur die Absicht, ohne Informationen senden:Wie Broadcast Absicht mit Extras durch ADB-Shell?

am broadcast -a android.intent.action.BATTERY_CHANGED 

Ich habe eine App Hexe hört für diese Absicht und hier ist das, was das System alle paar Sekunden sendet:

#Intent;action=android.intent.action.BATTERY_CHANGED;launchFlags=0x60000010;i.icon-small=17302838;B.present=true;i.scale=100;i.level=100;S.technology=Li-ion;i.status=5;i.voltage=4155;i.invalid_charger=0;i.plugged=2;i.health=2;i.temperature=280;end 

Als ich ausgestrahlt dies die Absicht meiner App zeigt:

#Intent;action=android.intent.action.BATTERY_CHANGED;launchFlags=0x10;end 

Meine Frage ist, wie kann ich übertragen die Absicht durch die adb shell mit einigen dieser Eigenschaften/Flags (wie Skala, Status, Stecker ged, etc.)?

Antwort

10

Das <INTENT> Parameter Format ist das gleiche für alle am Subbefehle wie start, startservice und broadcast. für die Antwort

am broadcast "intent:#Intent;action=android.intent.action.BATTERY_CHANGED;i.status=5;i.voltage=4155;i.level=100;end" 
+7

Danke:

Es könnte -a <ACTION>, -c <CATEGORY>, wie -n <COMPONENT> und verschiedene -e <EXTRA> für verschiedene Arten von Extras oder als einzelne URI formatierten String als eine Kombination von separaten Parameter übergeben werden. Es funktioniert perfekt. In der Zwischenzeit habe ich eine andere mögliche Lösung gefunden: 'bin Broadcast-a android.intent.action.BATTERY_CHANGED --ez vorhanden false --ei state 2 --ei level 50' – Valyo

+1

Die Antwort sie hat nicht für mich funktioniert, aber Valyo's Kommentar hier hat funktioniert. Auch müssen Sie in adb-Shell für diese sein, wenn Sie also die Commadnline sind, nur "Adb-Shell" vor dem Befehl hier vor. –

+0

@Valyo Kommentar hat geholfen, aber ich musste Extras zu ändern Broadcast -a android.intent.action.BATTERY_CHANGED --ez vorliegenden false --ei Zustand 2 --ei Ebene 50 – PSIXO

Verwandte Themen