繁体   English   中英

BroadcastReceiver - onReceive未被调用

[英]BroadcastReceiver - onReceive Not Being Called

我通过以下方式发送广播:

Intent intent = new Intent("com.usmaan.myApp.DATA_RECEIVED");
intent.putExtra("matchId", newRowId);
LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);

这是包装运行上述广播的AsyncTask的服务:

<service
   android:name=".services.DataService"
   android:exported="false" />

在我的Activity中,我在onResume注册了一个Receiver

IntentFilter intentFilter = new IntentFilter("com.usmaan.myApp.DATA_RECEIVED");
registerReceiver(mDataReceiver, intentFilter);

`BroadReceiver看起来像这样:

private class DataReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        final long matchId = intent.getLongExtra("matchId", 0);
        Toast.makeText(LaunchActivity.this, "" + matchId, Toast.LENGTH_LONG);
    }
}

onReceive永远不会被解雇。 我究竟做错了什么?

在两个地方使用LocalBroadcastManagersendBroadcast()registerReceiver() ),或者根本不使用LocalBroadcastManager 现在,你有一对不匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM