我的应用程序重复任务将每隔5分钟运行一次。我尝试两次安装相同的应用程序,然后警报管理器不会触发广播来执行任务。
第一次安装它一直工作,直到我重新安装相同版本它停止重复任务。这是Alarm Manager的问题。我不明白。
这是我的代码:
Intent intent = new Intent(context, CheckingPriceReceiver.class);
intent.setAction("com.abccompany.trading");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context,
REQ_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT);
long mInterval = 300000;
long triggerTime = System.currentTimeMillis() + mInterval;
AlarmManager alarmManager = (AlarmManager)
context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, triggerTime, mInterval, pendingIntent);
我不知道如何修复它。请帮忙!! ~~
答案 0 :(得分:1)
这也说明了警报类型的不同, https://developer.android.com/training/scheduling/alarms.html
<强> ELAPSED_REALTIME 强>
它会在启动时触发。假设您设置为300000,则警报将每5分钟触发一次,并且不会考虑当前时间。
<强> RTC 强>
它将根据时钟时间触发,意味着不考虑启动时间,并将在指定的时间触发。
要唤醒您的设备,请使用此
strcpy()
如果您不想唤醒设备,请使用此功能
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, mInterval, pendingIntent);