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

时间:2013-04-30 11:28:27

标签: java android launch

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

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

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

  2. 如何完成整个应用程序(完成所有应用程序)。

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

  4. 先谢谢

1 个答案:

答案 0 :(得分: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方法,但这不能在生产环境中使用。详细了解此here

相关问题