【问题标题】:Android BroadcastReceiver does not receive intentAndroid BroadcastReceiver 没有收到意图
【发布时间】:2016-11-14 06:46:07
【问题描述】:

这是我在一个应用中的发件人:

intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
intent.setAction("my.pack.SET_DONE");
intent.putExtra("name", "PWM");
intent.addCategory(Intent.CATEGORY_DEFAULT);
mContext.sendBroadcast(intent);

这是我在另一个应用程序中的接收器:

private Object mySyncObj = new Object();
private AtomicBoolean mySetDone = new AtomicBoolean(false);
static private MyBroadcastReceiver mReceiver;

    public class MyBroadcastReceiver extends BroadcastReceiver{
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            Log.d(LOG_TAG, "action = " + action );

            if (action.equalsIgnoreCase("my.pack.SET_DONE")){
                synchronized (mySyncObj) {
                    mySetDone.set(true);
                    mySyncObj.notify();
                }
            }

        }
    }

接收者是动态注册的

mIntentFilter = new IntentFilter("my.pack.SET_DONE");
mIntentFilter.addCategory(Intent.CATEGORY_DEFAULT);
ctx.registerReceiver(mReceiver, mIntentFilter);
mySetDone.set(false);
// do something and then wait for the broadcast
synchronized (mySyncObj) {
        try {
            while(!mySetDone.get()) {
                mySyncObj.wait();
            }
        } catch (InterruptedException ie) {}
    }

从 logcat 中,我可以看到广播意图是好的,但我从来没有看到 onReceive() 中的日志。

【问题讨论】:

  • 您在哪里注册您的接收器?如果它在一个活动中,它必须处于活动状态才能接收到意图。如果没有,您需要在Manifest 中注册您的接收器。描述您想要实现的目标。
  • 如果一切正常,请重启手机再试一次!

标签: android android-intent broadcastreceiver


【解决方案1】:
Intent intent = getIntent();
String name = intent.getStringExtra("name");

getIntent 接收意图 getExtra 或 GetStringExtra 以获取 .... with "name" 键 那么你需要

startActivity(intent)

【讨论】:

  • 有帮助吗...?
【解决方案2】:

你曾经用new MyBroadcastReceiver()初始化mReceiver吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-25
    • 2012-02-22
    • 2011-06-30
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    相关资源
    最近更新 更多