Android 如何设置24/7服务的倒计时
我最近刚刚学习并开发了一个小部件。我知道小部件至少每30-60分钟自动更新一次。现在我被要求将自动更新时间缩短到5分钟 因此,我想到了创建另一个Android 如何设置24/7服务的倒计时,android,service,countdowntimer,Android,Service,Countdowntimer,我最近刚刚学习并开发了一个小部件。我知道小部件至少每30-60分钟自动更新一次。现在我被要求将自动更新时间缩短到5分钟 因此,我想到了创建另一个服务线程,该线程每5分钟持续运行一次倒计时,并刷新应用程序以检查是否存在任何可能的错误。这些错误实际上是ping测试结果。如果服务器关闭,我将执行Toast消息,通知用户该服务器已关闭 那么,我该怎么做呢?还是有更好的建议。请开导我 我认为最好将runnable与postDelayed一起使用,如下所示: private Handler handler
服务线程
,该线程每5分钟持续运行一次倒计时,并刷新应用程序以检查是否存在任何可能的错误。这些错误实际上是ping测试结果。如果服务器关闭,我将执行Toast消息
,通知用户该服务器已关闭
那么,我该怎么做呢?还是有更好的建议。请开导我 我认为最好将runnable与postDelayed一起使用,如下所示:
private Handler handler = new Handler();
private Runnable runnable = new CustomRunnable();
private class CustomRunnable implements Runnable {
public void run() {
// your logic
handler.postDelayed(runnable, REFRESH_TIME);
}
}
private static final int REPEAT_TIME_IN_SECONDS = 60; //repeat every 60 seconds
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC, System.currentTimeMillis(),
REPEAT_TIME_IN_SECONDS * 1000, pendingIntent);
刷新时间-刷新的常数,单位为毫秒。只运行一次handler.postDelayed(可运行,刷新时间)您想去哪里。这可以帮助您:
好友使用TimerTask
在特定时间间隔后呼叫
Timer timer = new Timer();
timer.schedule(new UpdateTimeTask(),1, TimeInterval);
及
或者您也可以使用AlamManager
:
如下设置AlarmManager
:
private Handler handler = new Handler();
private Runnable runnable = new CustomRunnable();
private class CustomRunnable implements Runnable {
public void run() {
// your logic
handler.postDelayed(runnable, REFRESH_TIME);
}
}
private static final int REPEAT_TIME_IN_SECONDS = 60; //repeat every 60 seconds
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC, System.currentTimeMillis(),
REPEAT_TIME_IN_SECONDS * 1000, pendingIntent);
如果您想在手机关机时唤醒手机,请将AlarmManager.RTC
更改为AlarmManager.RTC_WAKEUP
。更多关于AlarmManager的信息
这两个参数还意味着您的报警时间将是
System.currentTimeMilis()
,即UTC时间。节能模式、电池寿命等如何?(OTOH,我不知道你的设备是什么。)第二种情况使用Alarm Manager(),但我认为不太方便。哎呀,我在问题中没有提到。我一直在考虑闹钟的想法,因为他们有一个倒计时计时器。谢谢报警管理器的建议。我也会调查的。谢谢你,欢迎你,伙计。。我添加了更多的代码,这样您就可以有更多的选择,即AlaramManager
Gosh,太棒了。再次感谢!