Mar*_*ark 1 android timer delay handler
我尝试开发一个简单的定时蜂鸣器,每小时发出一次。对于我使用服务和处理程序的时间,这里是示例:
void onStart(...){
handler.postDelayed(timerRunnable, ONE_HOUR);
}
private Runnable timerRunnable = new Runnable() {
@Override
public void run() {
...beep
handler.postDelayed(timerRunnable, ONE_HOUR);
}
};
Run Code Online (Sandbox Code Playgroud)
但是run()方法将被不确定地触发,我认为它取决于当前的设备使用情况。
我已经尝试使用 TimerTask 和“手动”线程实现相同的场景,但具有相同的不确定性结果。
在AlarmManager这么长时间的延迟中使用 可能会更好。Handler当您的应用程序处于前台时,最适合滴答和超时。
http://developer.android.com/reference/android/app/AlarmManager.html