10

BATTERY_CHANGEDADB シェルを介してインテントを送信しようとしています。これまでのところ、情報なしでインテントを送信することしかできませんでした:

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私の質問は、これらのプロパティ/フラグ (スケール、ステータス、プラグなど) を使用してインテントをブロードキャストするにはどうすればよいですか?

4

1 に答える 1

13

<INTENT>パラメータ形式は、、 、などのすべてのamサブコマンドで同じです。startstartservicebroadcast

-a <ACTION>-c <CATEGORY>、などの個別のパラメータの組み合わせとして、エクストラの種類ごとに異なるものとして渡すことも、単一の-n <COMPONENT>フォーマットされた文字列として渡すこともできます。-e <EXTRA>URI

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

adb shellまた、対話型セッションの外で実行する場合は、コマンドを適切にエスケープしてください。

adb shell "am broadcast 'intent:#Intent;action=android.intent.action.BATTERY_CHANGED;i.status=5;i.voltage=4155;i.level=100;end'"
于 2013-07-18T11:54:02.887 に答える