2

Können Sie einen Grund dafür finden, warum BroadcastReceiver nicht aufgerufen wird, wenn der Alarm ausgelöst wird? Wenn ich den Alarm eine explizite Absicht habe, funktioniert es gut und meine Aktivität öffnet sich. Wenn ich die Absicht zum Öffnen meines BroadCastReceivers einstelle, passiert nichts, also denke ich, dass etwas mit meiner Empfängerklasse oder dem Manifest nicht stimmt. Hier ist, wie ich ein Setup der Alarm:BroadcastReceiver wird nicht von Alarm (Manager) aufgerufen

Intent intent = new Intent(this, AlarmBroadcastReceiver.class); 
PendingIntent pendingIntent = PendingIntent.getActivity(this, 324, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
mAlarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
mAlarmManager.set`enter code here`InexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent); 

hier mein Rundfunkempfänger ist:

public class AlarmBroadcastReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     Log.e("MJH", "Alarm called..."); 
     Toast.makeText(context, "Alarm...", Toast.LENGTH_LONG).show(); 
    } 
} 

Und hier ist mein Manifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest package="mjh.com.apod" 
     xmlns:android="http://schemas.android.com/apk/res/android"> 

<!-- Required to act as a custom watch face. --> 
<uses-permission android:name="android.permission.WAKE_LOCK"/> 
<uses-permission android:name="android.permission.SET_WALLPAPER"/> 
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

<application 
    android:name="android.support.multidex.MultiDexApplication" 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
    <receiver 
     android:name=".AlarmBroadcastReceiver" 
     android:enabled="true" 
     android:exported="true" 
     android:process=":remote"> 
    </receiver> 
</application> 

Danke so sehr für Ihre Zeit.

Antwort

2

Ich denke, Sie sollten PendingIntent.getBroadcast( anstelle von PendingIntent.getActivity( verwenden.

+0

Ja. Das hat den Trick gemacht. Vielen Dank! – MarkInTheDark

+0

Ich erinnere mich daran, vor einiger Zeit ein sehr ähnliches Problem zu debuggen. Es bleibt danach. >.> – EpicPandaForce

0

Ich musste getBroadcast anstelle von getActivity aufrufen, um PendingIntent zu erstellen. Das hat es behoben.

+0

Falscher Kommentar war hier. – MarkInTheDark

Verwandte Themen