2012-05-17 35 views
0

可能重复:
Quitting an application - is that frowned upon?如何通过单击创建的按钮退出整个应用程序?

我创造我的应用程序,并通过点击该按钮一个按钮,所有的状态将被保存,用户将退出整个应用程序。当用户重新点击应用时,他/她应该被带到主要活动。我尝试过使用finish()和System.exit(0),但是这两个函数都只是结束了当前的活动,并将我带到了之前的活动中......我如何实现这一目标?谢谢。

+0

您可以通过调用startActivtyForResult(解决这个问题)不是startActivity()中的所有父其他活动。 –

+0

你有没有检查[http://stackoverflow.com/questions/2042222/close-application](http://stackoverflow.com/questions/2042222/close-application)和[http://stackoverflow.com/questions/ 3226495 /机器人退出应用程序代码(http://stackoverflow.com/questions/3226495/android-exit-application-code)? – silwar

+0

希望这些线程可以帮助您 http://stackoverflow.com/questions/3105673/android-how-to-kill-an-application-with-all-its-activities 的http://计算器.com/questions/6014028/closing-application-with-exit-button – Hassy31

回答

0

不推荐,但你仍然可以使用它。如果您需要退出应用程序,最好使用此解决方案。

根据我的最佳解决方案是完成您的应用程序中的每个活动,如下所示。

step1)在mainactivity中维护一个静态变量。

public static isQuit = false; 

step2)单击按钮事件时,使此变量为true并完成当前活动。

mainactivity.isQuit = true; 
    finish(); 

步骤3),并在你的应用程序的每个活动都有如下onrestart方法..

@Override 
     protected void onRestart() { 
     // TODO Auto-generated method stub 
     super.onRestart(); 
     if(mainactivity.isQuit) 
      finish(); 
    } 

请参阅本LINK

0

调用Move to Back会隐藏自己的应用程序。你不应该打电话System.exit(0);

依靠Android操作系统来决定何时应用程序需要被终止总是更好。

0

找到下面的代码关闭应用程序。首先清除活动堆栈并使用标志,然后使用finish()方法。

Intent intent = new Intent(getApplicationContext(), FinishActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      finish(); 
      startActivity(intent); 

在FinishActivity类的onCreate()开玩笑简单的写完成()方法

public class FinishActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    finish(); 
} 

}

相关问题