在以下场景中是否有实现超时功能的方法?如何在Android应用程序中实现应用程序空闲超时?
一个带有html页面和本机屏幕的web应用程序。
1.当应用程序在后台进行5分钟时 - >销毁应用程序。 2.当应用程序处于前台但未收到5分钟的任何用户交互时 - >销毁应用程序。
在以下场景中是否有实现超时功能的方法?如何在Android应用程序中实现应用程序空闲超时?
一个带有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 OS本身就是这样做的。
请参阅this guide以供参考。
虽然如果您在此“空闲时间”期间需要执行一些后台工作,您可以启动Service来执行这些操作,然后将其停止执行代码。
关于前台状态:
我想在这里使用的最佳方法是将消息发送到应用程序的主线程的Handler,因为你不知道,如果用户将与UI交互他们离开后再次。当用户回到UI时,可以使用Handler的removeMessages方法清除消息队列。
我不建议你用Android中的System.exit(0)完成该过程。
这可能会帮助你,他们已经解释了你需要做什么来检查系统空闲时间这个较旧的文章[检查此链接](http://stackoverflow.com/a/4075857/1758960) – Gru
为什么地球上会你想这样做? – Simon