gpt4 book ai didi

java - 是否可以检测应用程序的退出?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:01:28 28 4
gpt4 key购买 nike

我的 android 应用程序允许从此启动其他已安装的应用程序。这显示了一些允许的应用程序。如果用户尝试启动不允许的应用程序,则显示一条消息并使用正在运行的任务返回到我的 Activity (从每个应用程序启动的地方)。我的应用程序充当家庭启动器。如果应用程序被阻止,则有意进行此 Activity 。例如:可以从三星设备中的图库启动相机。如果不允许使用相机,则会显示被阻止的消息并退出到我的 Activity 。但是当重新启动画廊时,被阻止的消息再次显示,因为顶部 Activity (相机 Activity )位于堆栈中。

但是这些被阻止的应用程序的退出并不完美。

  1. 是否可以获取应用程序的关闭/退出事件?

  2. 我怎样才能完成整个应用程序(通过完成所有应用程序)。

  3. 如何在没有任何上次启动历史的情况下启动应用程序?

提前致谢

最佳答案

Is it possible to get close/exit event of an application?

是的,可以在您的 LauncherActivity 中实现。您可以覆盖 onDestroy 此方法将在应用程序退出时调用。

How can i finish an application as whole(By finishing all its applications)?

我相信您想在这里停止所有运行 Activity 。这可以通过多种方式实现。

android.os.Process.killProcess(android.os.Process.myPid());

Intent intent = new Intent(getApplicationContext(), YourHomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

这将清除所有 Activity 并将用户带到 HomeActivity。调用此方法时,您可以在 Intent 中添加一个标志,并使用该值也可以完成 HomeActivity。使用 finish() 方法结束 Activity 。

How to launch an application without having any history of previous launch?

您可以使用与上述相同的解决方案来实现此目的。第二个。

希望这会有所帮助。

在应用类中有一个onTerminate方法,但是在生产环境中不能使用。查看更多相关信息 here

关于java - 是否可以检测应用程序的退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16298795/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com