Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓在应用程序转到后台后一分钟内自动关闭第二个活动_Android_Android Activity - Fatal编程技术网

Android 安卓在应用程序转到后台后一分钟内自动关闭第二个活动

Android 安卓在应用程序转到后台后一分钟内自动关闭第二个活动,android,android-activity,Android,Android Activity,假设我的android应用程序有两个活动A和B。活动A启动活动B A->B。当显示活动B时,用户按下主页按钮,应用程序进入后台。现在我希望活动B在后台自动关闭,因为它显示了一些秘密信息,比如说,在用户按下Home按钮后的一分钟内。实现这一点的最佳方式是什么 我试着使用活动B上的Handler和postDelayed来完成,但似乎有时候它不起作用,当应用程序从后台恢复时,活动B仍然没有完成 我的代码是: @Override protected void onStop() { super.o

假设我的android应用程序有两个活动A和B。活动A启动活动B A->B。当显示活动B时,用户按下主页按钮,应用程序进入后台。现在我希望活动B在后台自动关闭,因为它显示了一些秘密信息,比如说,在用户按下Home按钮后的一分钟内。实现这一点的最佳方式是什么

我试着使用活动B上的Handler和postDelayed来完成,但似乎有时候它不起作用,当应用程序从后台恢复时,活动B仍然没有完成

我的代码是:

@Override
protected void onStop() {
    super.onStop();
    mLockHandler = new Handler();
    mLockRunnable = new Runnable() {
        @Override
        public void run() {
            finish();
        }
    };
    mLockHandler.postDelayed(mLockRunnable, 60 * 1000);
}

当Android没有足够的资源时,它能够自己完成活动。 如果发生这种情况,我想处理程序也不可用。如果您非常想处理您的活动完成,您需要创建一些类,这些类将在活动生命周期中以单例形式存在。这不会让android从内存中删除它。 尽管你会有另外两个问题: 如果处于错误状态,您的单身汉将无法完成活动。 将活动置于singleton将导致内存泄漏。 总之,试图改变活动生命周期是个坏主意。也许某个服务类会在后台解决您的任务