簡體   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