4

有没有办法在以下场景中实现超时功能?

具有 html 页面和本机屏幕的 Web 应用程序。

1.当应用程序在后台5分钟->销毁应用程序。2.当应用程序在前台但5分钟内没有收到任何用户交互时->销毁应用程序。

4

2 回答 2

2

关于背景状态:

默认情况下无需手动终止应用程序的进程。如果需要为其他应用程序释放资源,Android 操作系统会自行执行此操作。

请参阅本指南以获取参考。

虽然如果您需要在这个“空闲时间”期间执行一些后台工作,您可以启动一个服务来执行这些操作,然后从代码中停止它。

关于前景状态:

我认为在这里使用的最佳方法是将消息发送到应用程序主线程的处理程序,因为您不知道用户离开后是否会再次与 UI 交互。当用户返回 UI 时,您可以使用 Handler 的removeMessages方法清除消息队列。

我不建议您在 Android 中使用 System.exit(0) 完成该过程。

于 2013-07-03T07:19:13.437 回答
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();
    }

干杯,

于 2013-07-03T07:17:13.223 回答