【发布时间】:2016-08-12 14:44:38
【问题描述】:
在 Android Marshmallow 服务或后台进程被暂停/休眠,一种方法是设置警报管理器计时器以每 09 分钟唤醒一次服务。如果我从活动中设置警报,它只会被调用一次。如何设置重复的SetAndAllowWhileIdle 警报?谢谢
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);
}
【问题讨论】:
-
不支持与空闲设备组合的重复警报。可能重复:stackoverflow.com/questions/35629268/…
标签: android xamarin alarmmanager