2013-07-18 91 views
8

我試圖通過ADB shell發送BATTERY_CHANGED意圖。到目前爲止,我只設法沒有信息發送的目的:如何通過ADB外殼與extras廣播意圖?

am broadcast -a android.intent.action.BATTERY_CHANGED 

我創建了一個應用程序女巫監聽這個意圖,這裏是什麼系統每隔幾秒鐘發送:

#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 

當我播意圖我的應用程序顯示了這一點:

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

我的問題是如何通過的adb shell與這些屬性/標誌(如規模,地位,塞廣播意圖ged等)?

回答

10

<INTENT>參數格式對所有am子命令如start,startservicebroadcast都是相同的。

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

感謝您的回答:

它可以像-a <ACTION>-c <CATEGORY>-n <COMPONENT>和不同-e <EXTRA>針對不同類型的額外的或單個URI格式化字符串的獨立參數的組合來傳遞。它完美的作品。在此期間,我發現了另一個可能的解決方案:'廣播-a android.intent.action.BATTERY_CHANGED --ez現在虛假--ei狀態2 --ei等級50' – Valyo

+1

答案她沒有爲我工作,但瓦利奧的這裏評論確實有效。 此外,你必須在adb shell中,因此如果你是commadnline的話,只需在這裏命令'adb shell'。 –

+0

@Valyo評論確實有幫助,但我不得不改變臨時演員廣播-a android.intent.action.BATTERY_CHANGED --ez目前假--ei狀態2 --ei等級50 – PSIXO