10

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

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

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

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

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

提前致谢

4

1 回答 1

14

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

是的,LauncherActivity您可以override onDestroy在应用程序退出时调用此方法。

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

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

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

或者

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

这将清除所有活动并将用户带到HomeActivity. 在调用它时,您可以在意图中添加一个标志并使用该值您也可以完成HomeActivity。使用finish()方法完成活动。

如何在没有任何先前启动历史的情况下启动应用程序?

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

希望这会有所帮助。

应用程序类中有一个onTerminate方法,但不能在生产环境中使用。在这里查看更多信息

于 2013-04-30T11:43:17.853 回答