时间/日期变更监听器 [英] Time/Date change listener

查看:149
本文介绍了时间/日期变更监听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

欢呼:)

解决方案
  

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

使用<一个href="http://developer.android.com/reference/android/app/AlarmManager.html#setRepeating%28int,%20long,%20long,%20android.app.PendingIntent%29"相对=nofollow> 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时(今天或明天),如通过日历对象。

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.

这篇关于时间/日期变更监听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆