报警管理器通知

时间:2017-04-16 15:44:12

标签: java android alarmmanager

我有一个功能public void notifiy() 此功能包含通知并播放可在应用未运行时运行的声音

我的问题是我想每天调用该功能当设备的当前时间是早上6点我知道它是由Alarm Manager完成的,但是如何在特定时间调用该功能检查当前时间。

1 个答案:

答案 0 :(得分:0)

您必须使用Android Alarms(AlarmManager)

  

警报(基于AlarmManager类)为您提供了一种在应用程序生命周期之外执行基于时间的操作的方法。例如,您可以使用警报启动长时间运行操作,例如每天启动一次服务以下载天气预报

样本由官方文档提供:here

编辑:如果您不想使用AlarmManager,可以使用在此answer

中提及的Timer或ScheduledThreadPoolExecutor
timer = new Timer();

timer.scheduleAtFixedRate(new TimerTask() {

    synchronized public void run() {

        \\ here your todo;
        }

    }}, TimeUnit.MINUTES.toMillis(1), TimeUnit.MINUTES.toMillis(1));

ScheduledThreadPoolExecutor最好使用:

ScheduledExecutorService scheduler =
Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate
  (new Runnable() {
     public void run() {
        // call service
     }
  }, 0, 10, TimeUnit.MINUTES);