在下列场景中有没有一种实现超时功能的方法?
一个具有HTML页面和本地屏幕的web应用程序。
1.当应用程序在后台停留5分钟 ->销毁该应用程序。 2.当应用程序在前台但未接收到任何用户交互5分钟 ->销毁该应用程序。
一个具有HTML页面和本地屏幕的web应用程序。
1.当应用程序在后台停留5分钟 ->销毁该应用程序。 2.当应用程序在前台但未接收到任何用户交互5分钟 ->销毁该应用程序。
我认为你可以使用这个。
ApplicationConstants.TIMEOUT_IN_MS 将会是300000,即5分钟。
private void timeout() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
System.exit(0);//close aplication
}
}, ApplicationConstants.TIMEOUT_IN_MS);
}
@Override
protected void onPause() {
super.onPause();
timeout();
}
您好,
关于后台状态:
通常情况下,不需要手动杀死应用程序的进程。如果需要为其他应用程序释放资源,Android操作系统会自行处理。
请参考此指南了解更多信息。
但是,如果您需要在“空闲时间”执行一些后台工作,则可以启动一个服务执行这些操作,然后通过代码停止它。
关于前台状态:
我认为在此最好的方法是向应用程序主线程的Handler发送消息,因为您不知道用户离开后是否还会与UI进行交互。当用户回到UI时,您可以使用Handler的removeMessages方法清除消息队列。
不建议在Android中使用System.exit(0)来结束进程。