2014-05-04 25 views
5

Aranan olmak değil OnReceive:BroadcastReceiver ben yaparak bir Yayınını göndermek

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

Bu Yayın çalışır AsyncTask tamamladı Servisi yukarıda:

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

, ben

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

`BroadRe: bir ReceiveronResume kayıt Bu gibi görünüyor:

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 hiçbir zaman ateş edilmez. Neyi yanlış yapıyorum?

cevap

6

Ya her iki yerde (sendBroadcast() ve registerReceiver()) içinde LocalBroadcastManager kullanın veya hiç LocalBroadcastManager kullanmayın. Şu anda, eşleşmeyen bir çiftiniz var.

+0

onReceive şimdi kovuluyor ancak ekranda Tost göstermiyor .... Nasıl oldu? – Subby

+0

Tostu göstermek için, aşağıdaki gibi bir bağlamı kullanın: Toast.makeText (context, .... –

+0

Hala çalışmıyor. Tetik atıyor ve Tost kodunu çalıştırıyor ama bir Toast görmüyorum. – Subby

İlgili konular