如何在安卓应用中实现应用程序空闲超时?

4
在下列场景中有没有一种实现超时功能的方法?
一个具有HTML页面和本地屏幕的web应用程序。
1.当应用程序在后台停留5分钟 ->销毁该应用程序。 2.当应用程序在前台但未接收到任何用户交互5分钟 ->销毁该应用程序。

这篇较旧的帖子可能会对您有所帮助,因为他们已经解释了如何检查系统空闲时间请查看此链接 - Gru
你到底为什么想要这样做? - Simon
2个回答

2

我认为你可以使用这个。

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();
    }

您好,


不客气... 我在我的项目和工作中实现了这个方法。 - MSA

2

关于后台状态:

通常情况下,不需要手动杀死应用程序的进程。如果需要为其他应用程序释放资源,Android操作系统会自行处理。

请参考此指南了解更多信息。

但是,如果您需要在“空闲时间”执行一些后台工作,则可以启动一个服务执行这些操作,然后通过代码停止它。

关于前台状态:

我认为在此最好的方法是向应用程序主线程的Handler发送消息,因为您不知道用户离开后是否还会与UI进行交互。当用户回到UI时,您可以使用Handler的removeMessages方法清除消息队列。

不建议在Android中使用System.exit(0)来结束进程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接