【发布时间】:2013-01-04 08:07:58
【问题描述】:
我开发了一个包含 23 个屏幕或布局的应用程序。每个布局都与另一个布局链接。
该过程将作为链或树进行。如果我处于应用程序的任何屏幕或流程的中间,我如何完全关闭我的应用程序。
如果我有单屏意味着我可以使用finish() 方法关闭应用程序,在此如果我使用finish() 方法意味着它将跨越多个屏幕来完全关闭我的应用程序..
帮我为这个问题编写代码..
【问题讨论】:
我开发了一个包含 23 个屏幕或布局的应用程序。每个布局都与另一个布局链接。
该过程将作为链或树进行。如果我处于应用程序的任何屏幕或流程的中间,我如何完全关闭我的应用程序。
如果我有单屏意味着我可以使用finish() 方法关闭应用程序,在此如果我使用finish() 方法意味着它将跨越多个屏幕来完全关闭我的应用程序..
帮我为这个问题编写代码..
【问题讨论】:
使用此代码将您的应用移至后台。
Intent homeIntent = new Intent(Intent.ACTION_MAIN);
homeIntent.addCategory(Intent.CATEGORY_HOME);
homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(homeIntent);
换句话说,这将启动主屏幕并使您的应用移至后台。
android.os.Process.killProcess(android.os.Process.myPid());
这将停止您的应用程序,而上述操作将使您的应用程序处于后台并从您离开应用程序的位置恢复它尚未被系统杀死。
【讨论】:
试试这个方法:
android.os.Process.killProcess(android.os.Process.myPid());
【讨论】:
您可以在每个活动标签的AndroidManifest.xml 中使用android:noHistory="true"。
<activity android:name=".Something" android:noHistory="True" />
现在当你通过意图调用下一个活动时。 Intent 不会存储以前的活动。因此,每当您单击返回时,它都会关闭您的应用程序。
【讨论】:
android:noHistry=true" to android:noHistory="true"`。 :)
致电moveTaskToBack(true) on your Activity。这将隐藏您的应用程序,直到用户想要再次使用它。
但最好不要单击一个按钮就退出整个应用程序。
【讨论】: