报警管理问题

时间:2017-09-14 02:40:39

标签: android alarmmanager

我的应用程序重复任务将每隔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);

我不知道如何修复它。请帮忙!! ~~

1 个答案:

答案 0 :(得分:1)

从这个答案来看, 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

它将根据时钟时间触发,意味着不考虑启动时间,并将在指定的时间触发。

要唤醒您的设备,请使用此

strcpy()

如果您不想唤醒设备,请使用此功能

alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime, mInterval, pendingIntent);