我在我的应用程序中使用了代码从here,当我点击'取消'选项时,应用程序只是最小化,当我长按主页按钮并选择应用程序。它显示相同屏幕不是闪屏或应用程序开始的常用方式 - 所以我假设它只是把我带到主屏幕。我正在寻找一种可以完全关闭主要活动的方式。立刻退出整个应用程序
我曾尝试以下方法,它每一次崩溃:
finish();
mainactivity.class.finish();
- 打开其中有
systemexit()
setresult()
在另一个活动的意图。
我在我的应用程序中使用了代码从here,当我点击'取消'选项时,应用程序只是最小化,当我长按主页按钮并选择应用程序。它显示相同屏幕不是闪屏或应用程序开始的常用方式 - 所以我假设它只是把我带到主屏幕。我正在寻找一种可以完全关闭主要活动的方式。立刻退出整个应用程序
我曾尝试以下方法,它每一次崩溃:
finish();
mainactivity.class.finish();
systemexit()
setresult()
在另一个活动的意图。不recommened但你仍然可以使用这个。 如果您需要退出应用程序,最好使用此解决方案。
根据我的最佳解决方案是完成您的应用程序中的每个活动,如下所示。
step1)在mainactivity中维护一个静态变量。
public static boolean isQuit = false;
step2)点击一个按钮的事件使这个变量为真。
mainactivity.isQuit = true;
finish();
步骤3),并在你的应用程序的每个活动都有如下onrestart方法..
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
if(mainactivity.isQuit)
finish();
}
U可以杀死所有的线程的AsyncTask每个正在运行的活动有:
System.exit(0);
我使用GPS和互联网,因此它耗尽了大量的电池。我已经尝试了上面的代码它仍然在后台运行。 – 2012-04-12 11:56:07
无线和GPS的消耗电池不间断,所以我建议禁用这两个设置,当你不使用它们...和你可以打开和关闭GPS编程 – user987760 2012-04-12 12:02:13
如果System.exit(0);没有为你工作,我想你需要完成你的活动(this.finish();)然后System.exit(0);它总是为我工作... – user987760 2012-04-12 12:06:18
你能否告诉我们在执行你的代码?我的意思是你试图调用'finish()'以及你调用它有什么错误? – WarrenFaith 2012-04-12 11:18:14
为什么你的“完成()”失败? – 2012-04-12 11:19:30
什么是你的logcaterror? – 2012-04-12 11:19:54