android - 处理程序 postDelayed 按配置延迟更长的时间

标签 android timer handler delay

我尝试开发一个简单的定时器蜂鸣器,它每小时发出一次蜂鸣声。对于我使用服务和处理程序的时间,这里是示例:

    void onStart(...){
        handler.postDelayed(timerRunnable, ONE_HOUR);
    }

    private Runnable timerRunnable = new Runnable() {

    @Override
        public void run() {
               ...beep
               handler.postDelayed(timerRunnable, ONE_HOUR);
        }
    };

但是 run() 方法将被不确定地触发,我认为这取决于当前设备的使用情况。

我尝试了使用 TimerTask 和“手动”线程实现的相同场景,但结果相同,但不确定。

最佳答案

对于如此长的延迟,使用 AlarmManager 可能会更好。 Handler 最适合在您的应用程序处于前台时处理滴答和超时。

http://developer.android.com/reference/android/app/AlarmManager.html

关于android - 处理程序 postDelayed 按配置延迟更长的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5824912/

相关文章:

android - 在 LooperThread 中获取处理程序返回 null

Applescript 处理程序,重复 i 从 1 到 this_list 的编号

java - 如何开始在 Android 中开发游戏?

android - InAppBilling 在 AndroidManifest 中注册 BroadcastReceiver

swift - SpriteKit View 不会更新以响应计时器事件

java - 如何取消java上的定时器?

c# - System.Timers.Timer 如何获取 Elapse 之前的剩余时间

asp.net-mvc - 带 URL 重写的 MVC 图像处理程序

android - (Android) 保持服务运行,即使应用程序被强制停止

android - 您可以嵌套 “Onclicklisteners”来运行多个 Activity 吗?