亚行发送意图的BroadcastReceiver [英] Sending intent to BroadcastReceiver from adb

查看:132
本文介绍了亚行发送意图的BroadcastReceiver的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有BroadcastReceiver的类:

I've got BroadcastReceiver class:

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>

但是,当我尝试从亚行派的意图,我收到错误:

But when I try to send intent from adb, I receive error:

C:\Users\i.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.

当我创建的意图在code,一切工作正常。因此,如何从亚洲开发银行发送意图是什么?

When I create intent in code, everything works fine. So how can I send intent from adb?

推荐答案

没有必要指定接收器。试试这个:

No need to specify Receiver. Try this:

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

这篇关于亚行发送意图的BroadcastReceiver的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆