Отправка намерение BroadcastReceiver от АБР

? user2106655 @ | Original: StackOverFlow
---

У меня BroadcastReceiver класс :

public class IntentReceiver extends BroadcastReceiver {

final String tag = "Intent Intercepter";

@Override
public void onReceive(Context context, Intent intent) {
    try {
        String data = intent.getStringExtra("sms_body");
        Log.i(tag, data);
        Toast.makeText(context, data.subSequence(0, data.length()),
                Toast.LENGTH_LONG).show();
    } catch (Exception e) {
        Toast.makeText(context, "Intercepted", Toast.LENGTH_LONG).show();
    }

}
}

А также в манифесте :

<receiver android:name="com.whereismywifeserver.IntentReceiver" android:enabled="true">
        <intent-filter android:priority="999">
            <action android:name="com.whereismywifeserver.intent.TEST"></action>
        </intent-filter>
</receiver>

Но когда я пытаюсь отправить намерение АБР, я получаю сообщение об ошибке:

C:Usersi.yesilevsky>adb shell am start -a com.whereismywifeserver.intent.TEST
--es sms_body "test from adb" -c android.intent.category.HOME -n  com.whereismywifeserver/.IntentReceiver
Starting: Intent { act=com.whereismywifeserver.intent.TEST t=[android.intent.category.HOME] cmp=com.whereismywifeserver/.IntentReceiver (has extras) }
Error type 3
Error: Activity class {com.whereismywifeserver/com.whereismywifeser
ver.IntentReceiver} does not exist.

Когда я создаю намерение в коде, все работает отлично. Так как я могу послать намерение АБР ?

---

Top 5 ответ

1user2106655 @

Я обнаружил, чтокоманда была не так, правильная команда содержит " трансляцию " вместо " начать " :

adb shell am broadcast -a com.whereismywifeserver.intent.TEST --es sms_body "test from adb" -n com.whereismywifeserver/.IntentReceiver
2Zohra Khan @

Нет необходимости указывать приемник . Попробуйте это:

adb shell am broadcast -a com.whereismywifeserver.intent.TEST --es sms_body "test from adb"
3Nlinscott @

Проверить это http://xgouchet.fr/android/index.php?article42/launch-intents-using-adb . Это дает довольно хороший пример того, как отправить намерения с помощью АБР . Примеры показаться довольно простой, но я попробовал их, и они работают.