Sub*_*bby 5 service android intentfilter broadcastreceiver
我通过以下方式发送广播:
Intent intent = new Intent("com.usmaan.myApp.DATA_RECEIVED");
intent.putExtra("matchId", newRowId);
LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);
Run Code Online (Sandbox Code Playgroud)
这是包装AsyncTask运行的服务广播上面的内容:
<service
android:name=".services.DataService"
android:exported="false" />
Run Code Online (Sandbox Code Playgroud)
在我的活动,我注册Receiver的onResume:
IntentFilter intentFilter = new IntentFilter("com.usmaan.myApp.DATA_RECEIVED");
registerReceiver(mDataReceiver, intentFilter);
Run Code Online (Sandbox Code Playgroud)
`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);
}
}
Run Code Online (Sandbox Code Playgroud)
该onReceive是从来没有发射.我究竟做错了什么?
要么LocalBroadcastManager在两个地方使用(sendBroadcast()和registerReceiver()),要么根本不使用LocalBroadcastManager.现在,你有一对不匹配.
| 归档时间: |
|
| 查看次数: |
4103 次 |
| 最近记录: |