报警管理问题

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);