Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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 - Fatal编程技术网

有没有办法从上次活动中关闭android应用程序?

有没有办法从上次活动中关闭android应用程序?,android,Android,有没有办法关闭android应用程序?我不能使用finish,因为它显示了以前的活动,我后面还有很多活动(例如从1号到2号到10号,10号我想退出应用程序)。如何做到这一点 Intent intent1 = new Intent(context, Activity.class); intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent1.addFlags(Intent.FLAG_ACTI

有没有办法关闭android应用程序?我不能使用finish,因为它显示了以前的活动,我后面还有很多活动(例如从1号到2号到10号,10号我想退出应用程序)。如何做到这一点

Intent intent1 = new Intent(context, Activity.class);
             intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
             intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
             startActivity(intent1);
清除顶部清除活动堆栈,即可完成重定向的最后一个活动

如果您的活动堆栈正确,则clear top将适合您

备选案文2:

使用硼铸接收机

清除顶部清除活动堆栈,即可完成重定向的最后一个活动

如果您的活动堆栈正确,则clear top将适合您

备选案文2:

使用硼铸接收机

使用如何

当用户导航离开该活动并且该活动在屏幕上不再可见时,是否应将其从活动堆栈中删除并完成(调用其
finish()
方法),如果该活动应完成,则为“true”,否则为“false”。默认值为“false”。 值“true”表示活动不会留下历史痕迹。它将不会保留在任务的活动堆栈中,因此用户将无法返回到它

使用如何

当用户导航离开该活动并且该活动在屏幕上不再可见时,是否应将其从活动堆栈中删除并完成(调用其
finish()
方法),如果该活动应完成,则为“true”,否则为“false”。默认值为“false”。 值“true”表示活动不会留下历史痕迹。它将不会保留在任务的活动堆栈中,因此用户将无法返回到它

您可以使用(但不建议使用)

系统出口(0)

或者你可以在后台移动你的应用程序(这是Android管理多任务的方式)

moveTaskToBack(真)

您可以使用(但不建议使用)

系统出口(0)

或者你可以在后台移动你的应用程序(这是Android管理多任务的方式)

moveTaskToBack(真)


将此代码置于退出按钮上

Intent intent = new Intent(ExitConfirmationActivity.this, FirstActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);

并用
finish()覆盖初始活动的onResume

将此代码置于退出按钮上

Intent intent = new Intent(ExitConfirmationActivity.this, FirstActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);

并用
finish()覆盖初始活动的onResume

我也有同样的问题,没有找到一种方法来彻底杀死一个应用程序。但后来我发现这是由于系统设计的内在本质

如果要关闭应用程序,只需清除活动堆栈并释放使用资源。这看起来很奇怪,对吧?你应该有权关闭自己的应用程序。但它确实不被推荐用于Android应用程序,也不符合Android指南。而且,不要向用户提供退出选项。对于需要向用户提供“退出选项”的Android应用程序(例如,出于安全原因),我们应该提供“退出选项”,清除活动堆栈、免费资源和其他您想做的事情,但决不要终止主活动

清除活动堆栈的解决方案已在此处为其他答案显示:(1)使用带有标志的意图\u Activity\u clear\u TOP或(2)使用广播

使用FLAG_ACTIVITY_CLEAR_TOP,您可以在当前活动上放置一个意图:

Intent intent = new Intent(getApplicationContext(), YourMainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.package.ACTION_SPECIFICNAME");
sendBroadcast(broadcastIntent);
finish();
广播选项是从当前活动向所有要关闭的活动发送广播

为此,您必须发送广播(关于当前活动):

并在其他活动中接收此广播(在您要关闭的每个活动中):

就这样!我希望这个答案对你有帮助。对不起我的英语。
我知道这不是你一直在等待的答案,但我认为这是当前(以及“正确的”)解决方案。

我也有同样的问题,没有找到一种方法来彻底杀死一个应用程序。但后来我发现这是由于系统设计的内在本质

如果要关闭应用程序,只需清除活动堆栈并释放使用资源。这看起来很奇怪,对吧?你应该有权关闭自己的应用程序。但它确实不被推荐用于Android应用程序,也不符合Android指南。而且,不要向用户提供退出选项。对于需要向用户提供“退出选项”的Android应用程序(例如,出于安全原因),我们应该提供“退出选项”,清除活动堆栈、免费资源和其他您想做的事情,但决不要终止主活动

清除活动堆栈的解决方案已在此处为其他答案显示:(1)使用带有标志的意图\u Activity\u clear\u TOP或(2)使用广播

使用FLAG_ACTIVITY_CLEAR_TOP,您可以在当前活动上放置一个意图:

Intent intent = new Intent(getApplicationContext(), YourMainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.package.ACTION_SPECIFICNAME");
sendBroadcast(broadcastIntent);
finish();
广播选项是从当前活动向所有要关闭的活动发送广播

为此,您必须发送广播(关于当前活动):

并在其他活动中接收此广播(在您要关闭的每个活动中):

就这样!我希望这个答案对你有帮助。对不起我的英语。
我知道这不是您一直在等待的答案,但我认为这是当前的(也是“正确的”)解决方案。

这方面也有类似的问题。这可能对你有帮助。还有一个类似的问题。这可能对你有帮助。