时间/日期变更监听器监听器、日期、时间

2023-09-06 06:34:44 作者:卩s跳跳虎

我想打一个时间或日期监听器,比如上午9点,每天激活的活动。我不知道什么是做到这一点的最好方法是什么?我知道我可以使用报警管理器,但我不知道如何使它重复?

有谁知道?非常感谢你提前。

欢呼:)

解决方案   

我知道我可以使用报警管理器,但我不知道如何使它重复?

使用 setRepeating() 和指定的 INTERVAL_DAY

 静态无效scheduleAlarms(上下文ctxt){
      AlarmManager经理=(AlarmManager)ctxt.getSystemService(Context.ALARM_SERVICE);
      意图I =新的意图(ctxt,ScheduledService.class);
      PendingIntent圆周率= PendingIntent.getService(ctxt,0,I,0);

      mgr.setRepeating(AlarmManager.ELAPSED_REALTIME,
                       SystemClock.elapsedRealtime()+ AlarmManager.INTERVAL_DAY,
                       AlarmManager.INTERVAL_DAY,PI);
  }
 

以上code将成立一个报警,分别从现在24小时,每24小时熄灭之后。有它开始在上午9点,替换 ELAPSED_REALTIME RTC 并替换 SystemClock.elapsedRealtime() + AlarmManager.INTERVAL_DAY 与上午9时(今天或明天),如通过日历对象。

jmeter监听器 跟随测试时间的指标监控

I want to make a time or date listener which for example invoke an activity every day at 9 AM. I am not sure what is the best way to do that? I know I can use Alarm Manager, but I don't know how to make it repetitive?

Does anyone know? Thank you very much in advance.

Cheer :)

解决方案

I know I can use Alarm Manager, but I don't know how to make it repetitive?

Use setRepeating() and specify a repeat interval of INTERVAL_DAY:

    static void scheduleAlarms(Context ctxt) {
      AlarmManager mgr=(AlarmManager)ctxt.getSystemService(Context.ALARM_SERVICE);
      Intent i=new Intent(ctxt, ScheduledService.class);
      PendingIntent pi=PendingIntent.getService(ctxt, 0, i, 0);

      mgr.setRepeating(AlarmManager.ELAPSED_REALTIME,
                       SystemClock.elapsedRealtime() + AlarmManager.INTERVAL_DAY,
                       AlarmManager.INTERVAL_DAY, pi);
  }

The above code will set up an alarm that will go off 24 hours from right now and every 24 hours thereafter. To have it start at 9am, replace ELAPSED_REALTIME with RTC and replace SystemClock.elapsedRealtime() + AlarmManager.INTERVAL_DAY with 9am (today or tomorrow), such as via a Calendar object.