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

时间:2013-07-03 06:57:28

标签: android android-webview

在以下情况下是否有实现超时功能的方法?

包含html页面和原生屏幕的Web应用程序。

1.当应用程序在后台运行5分钟时 - >破坏申请。 2.当应用程序在前台但没有接收任何用户交互5分钟时 - >销毁应用程序。

2 个答案:

答案 0 :(得分: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();
    }

干杯,

答案 1 :(得分:2)

关于背景状态:

默认情况下,无需手动终止应用程序的进程。如果需要为其他应用程序释放资源,Android OS会自行完成此任务。

请参阅this guide以获取参考。

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

关于前景状态:

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

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