2013-07-18 15 views
8

ADB kabuğundan BATTERY_CHANGED amacını göndermeye çalışıyorum.ADB kabuğundan eklerle nasıl yayın yapılır?

am broadcast -a android.intent.action.BATTERY_CHANGED 

Bir uygulama cadı burada bu niyet dinler ve oluşturulan sistem birkaç saniyede gönderdiği edilir: Bugüne kadar yalnızca hiçbir bilgilerle niyet göndermek başardı

#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 

Yayından niyet benim app bunu gösterir:

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

sorum yapabilirim ölçek, durum, fiş gibi bu özellikler/bayrakların bazı (ile adb shell içinden niyet yayın nasıl ged, vb)?

cevap

10

<INTENT> parametre biçimi start, startservice ve broadcast gibi tüm am alt komutlar için aynıdır. cevap için

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

teşekkür:

Bu ekstralar farklı türleri için veya tek URI biçimlendirilmiş dize olarak -a <ACTION>, -c <CATEGORY>, -n <COMPONENT> ve farklı -e <EXTRA> gibi ayrı parametrelerin bir kombinasyonu olarak kabul edilebilir. Mükemmel çalışıyor. Bu arada ben olası bir çözüm buldum: 'am-android.intent.action.BATTERY_CHANGED - benim mevcut yanlış --e devlet 2 - ii seviyesi 50' – Valyo

+1

Cevap onun benim için çalışmadı, ama Valyo's yorum burada işe yaradı. Ayrıca, bunun için bir satır kabuğu içinde olmanız gerekir, bu yüzden eğer commadnline ise, buraya 'adb shell' komutunu ekleyiniz. –

+0

@Valyo yorum yardımcı oldu ama ben yayın duymak için ekstra değiştirmek zorunda - android.intent.action.BATTERY_CHANGED - geçerli yanlış - - devlet 2 - ei seviyesi 50 mevcut – PSIXO