2017-08-10 69 views
0

似乎很容易理解。爲什麼我的接收器收到意圖?我在主要活動課的onCreate方法中聲明瞭這個接收器。收件人沒有收到意圖

IntentFilter filter = new IntentFilter(); 
    filter.addAction(WidgetProvider.ACTION_OPEN_ACTIVITY); 

    registerReceiver(new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 

      // No toast is shown. 
      Toast.makeText(MainActivity.this,"Intent received",Toast.LENGTH_SHORT).show(); 
     } 
    }, filter); 

    Intent intent = new Intent(this,MainActivity.class); 
    intent.setAction(WidgetProvider.ACTION_OPEN_ACTIVITY); 
    sendBroadcast(intent); 

回答

0

替換:

Intent intent = new Intent(this,MainActivity.class); 
intent.setAction(WidgetProvider.ACTION_OPEN_ACTIVITY); 

有:

Intent intent = new Intent(WidgetProvider.ACTION_OPEN_ACTIVITY); 

不能使用動態註冊接收器使用一個明確的IntentMainActivity不是BroadcastReceiver

相關問題