如果服务没有完成,我会创建 1 分钟的延迟计时器来关闭服务。看起来像这样:
private Handler timeoutHandler = new Handler();
在 onCreate() 里面
timeoutHandler.postDelayed(new Runnable()
{
public void run()
{
Log.d(LOG_TAG, "timeoutHandler:run");
DBLog.InsertMessage(getApplicationContext(), "Unable to get fix in 1 minute");
finalizeService();
}
}, 60 * 1000);
如果我在这 1 分钟之前完成工作 - 我想取消这个延迟的事情,但不知道如何取消。