报警管理问题
Alarm Manage Issue
我的应用有重复任务,每 5 分钟 运行。我尝试安装相同的应用程序两次,然后警报管理器不会因为执行任务而触发广播。
第一次安装它一直工作,直到我重新安装相同的版本它停止重复任务。这是警报管理器的问题。没看懂。
这是我的代码:
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);
我不知道如何修复它。请帮忙!!~~
根据这个回答,
Android Alarm What is the difference between four types of Alarm that AlarmManager provides and when to use what?
这也说明了警报类型的区别,
https://developer.android.com/training/scheduling/alarms.html
ELAPSED_REALTIME
开机自启动。假设您设置为 300000,那么警报将每 5 分钟触发一次,并且不会考虑当前时间。
RTC
它将根据时钟时间触发,这意味着不考虑启动时间,将在指定的时间触发。
要唤醒您的设备,请使用此功能,
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, mInterval, pendingIntent);
否则,如果您不想唤醒设备,请使用此选项
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, triggerTime, mInterval, pendingIntent);
我的应用有重复任务,每 5 分钟 运行。我尝试安装相同的应用程序两次,然后警报管理器不会因为执行任务而触发广播。
第一次安装它一直工作,直到我重新安装相同的版本它停止重复任务。这是警报管理器的问题。没看懂。
这是我的代码:
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);
我不知道如何修复它。请帮忙!!~~
根据这个回答, Android Alarm What is the difference between four types of Alarm that AlarmManager provides and when to use what?
这也说明了警报类型的区别, https://developer.android.com/training/scheduling/alarms.html
ELAPSED_REALTIME
开机自启动。假设您设置为 300000,那么警报将每 5 分钟触发一次,并且不会考虑当前时间。
RTC
它将根据时钟时间触发,这意味着不考虑启动时间,将在指定的时间触发。
要唤醒您的设备,请使用此功能,
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, mInterval, pendingIntent);
否则,如果您不想唤醒设备,请使用此选项
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, triggerTime, mInterval, pendingIntent);