Unable to start activity from broadcast receiver once I remove the app from recent pane

118 Views Asked by At

I am creating an alarm app. For this I am firing a broadcast receiver using AlarmManager.AlarmClockInfo. Everything works fine till the app is open or is minimized. But once i remove the app from recent pane, alarm does not ring. But when i open the app after alarm time, alarm starts ringing.

Setting alarm

Intent receiver_intent = new Intent("iris.jaagore.sabita_sant.alarm.START_ALARM");
receiver_intent.putExtra(Constants.ALARM_ID_KEY, alarmID);
pendingIntent = PendingIntent.getBroadcast(context, alarmID, 
receiver_intent, PendingIntent.FLAG_IMMUTABLE);
AlarmManager.AlarmClockInfo ac= new 
AlarmManager.AlarmClockInfo(ALARM_TIME, pendingIntent);
alarmManager.setAlarmClock(ac, pendingIntent);

Broadcast receiver

@Override
public void onReceive(Context context, Intent intent) {
    PowerManager powerManager =(PowerManager)context.getSystemService(POWER_SERVICE);
    PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"MyApp::MyWakelockTag");
    wakeLock.acquire() 
    int id = intent.getIntExtra(Constants.ALARM_ID_KEY, 0);
    Intent i = new Intent();
    i.putExtra(Constants.ALARM_ID_KEY,id);
    i.setClass(context, AlarmScreen.class);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
     wakeLock.release();
}

Manifest

<receiver
    android:name=".logic.AlarmReceiver
    android:enabled="true"
    android:exported="true">
    <intent-filter>
        <action android:name="iris.jaagore.sabita_sant.alarm.START_ALARM"/>
    </intent-filter>
</receiver>

Thanks in advance.

0

There are 0 best solutions below