2017-08-10 1 views
0

Scheint wie ein Kinderspiel. Warum empfängt mein Empfänger die Absicht? Ich deklariere diesen Empfänger in der Methode onCreate in meiner Hauptaktivitätsklasse. ErsetzenEmpfänger empfängt keine Absicht

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); 

Antwort

0

:

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

mit:

Intent intent = new Intent(WidgetProvider.ACTION_OPEN_ACTIVITY); 

Sie können keine explizite Intent mit einem dynamisch registrierten Empfänger verwenden und MainActivity ist kein BroadcastReceiver.

Verwandte Themen