我的Android应用程序允许从此启动其他已安装的应用程序。这显示了一些允许的应用程序。如果用户尝试启动不允许的应用程序,则显示消息并使用正在运行的任务返回到我的活动(从每个应用程序启动的位置)。我的应用程序充当家庭启动器。如果是一个被阻止的应用程序,则意图进行此活动。例如:可以从三星设备中的图库启动相机。如果相机不是允许的,则显示被阻止的消息并退出到我的acivity.But重新启动图库时,阻止的消息再次显示,因为顶层活动(摄像机活动)在堆栈中撒谎。
但是这些被阻止的应用程序的退出并不完美。
是否可以获取应用程序的关闭/退出事件?
如何完成整个应用程序(完成所有应用程序)。
如何在没有任何先前发布历史的情况下启动应用程序?
先谢谢
答案 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