2014-05-04 11 views
5

मैं ऐसा करके एक प्रसारण भेजें:BroadcastReceiver - onReceive नहीं बुलाया जा रहा है

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" /> 

मेरे गतिविधि में, मैं रजिस्टर एक ReceiveronResume में:

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

`BroadRe सीवर इस तरह दिखता है:

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 कभी नहीं निकाल दिया जाता है। मैं क्या गलत कर रहा हूं?

उत्तर

6

या तो दोनों स्थानों (sendBroadcast() और registerReceiver()) में LocalBroadcastManager का उपयोग करें, या बिल्कुल LocalBroadcastManager प्रयोग नहीं करते। अभी, आपके पास एक बेमेल जोड़ी है।

+0

ऑन रिसीव अब निकाल दिया जा रहा है लेकिन यह स्क्रीन पर टोस्ट नहीं दिखा रहा है .... कैसे आते हैं? – Subby

+0

टोस्ट दिखाने के लिए, इस तरह के संदर्भ का उपयोग करें: Toast.makeText (संदर्भ, .... –

+0

अभी भी काम नहीं कर रहा है। यह टिकाऊ कोड पर चल रहा है और टोस्ट कोड चला रहा है लेकिन मुझे टोस्ट नहीं दिख रहा है। – Subby

संबंधित मुद्दे