On Android Marshmallow service or background process be paused/hibernated and one way is to setup an alarm manager timer to wake up the service every 09 minutes. If I setup the Alarm from the activity it will only be called once. How do I setup a repeating SetAndAllowWhileIdle
alarm? Thanks
AlarmManager manager = (AlarmManager)GetSystemService(AlarmService);
long triggerAtTime = SystemClock.ElapsedRealtime() + (9 * 60 * 1000);
Intent alarmintent = new Intent(this, typeof(AlarmReceiver));
PendingIntent pendingintent = PendingIntent.GetBroadcast(this, 0, alarmintent, 0);
if (Android.OS.Build.VERSION.SdkInt >= BuildVersionCodes.M)
{
manager.Cancel(pendingintent);
manager.SetAndAllowWhileIdle(AlarmType.ElapsedRealtimeWakeup, triggerAtTime, pendingintent);
}
else
{
manager.Set(AlarmType.ElapsedRealtimeWakeup, triggerAtTime, pendingintent);
}