如何通过单击一个创建的按钮退出整个应用程序? [复制]

Posted

技术标签:

【中文标题】如何通过单击一个创建的按钮退出整个应用程序? [复制]【英文标题】:How to exit the whole application by clicking one created button? [duplicate] 【发布时间】:2012-05-17 06:58:15 【问题描述】:

可能重复:Quitting an application - is that frowned upon?

我正在我的应用程序中创建一个按钮,通过单击此按钮,所有状态都将被保存,用户将退出整个应用程序。当用户重新点击应用程序时,他/她应该被带到主要活动。我曾尝试使用 finish() 和 System.exit(0) 但这两个函数都只是结束当前活动并将我带到上一个活动......我怎样才能做到这一点?谢谢。

【问题讨论】:

您可以通过在所有父活动中调用startActivtyForResult()而不是startActivity()来解决此问题。 你检查过http://***.com/questions/2042222/close-application和http://***.com/questions/3226495/android-exit-application-code吗? 希望这些帖子能帮到你***.com/questions/3105673/…***.com/questions/6014028/… 这里你的主要活动是什么应用程序的第一个活动或你退出的应用程序的最后一个活动 【参考方案1】:

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

在我看来,最好的解决方案是完成您应用中的所有活动,如下所示。

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

 public static isQuit = false;

step2) 在按钮的点击事件中将此变量设为 true 并完成当前活动。

   mainactivity.isQuit = true;
   finish();

step3) 并且在您的应用程序的每个活动中都有如下 onrestart 方法..

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

参考这个LINK

【讨论】:

【参考方案2】:

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

最好依靠 Android 操作系统来决定何时需要终止应用。

【讨论】:

【参考方案3】:

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

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

在onCreate() 的FinishActivity 类中,只需编写finish() 方法

public class FinishActivity extends Activity 

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

【讨论】:

以上是关于如何通过单击一个创建的按钮退出整个应用程序? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

delphi 如何通过单击一个窗体的按钮给一个frame的控件赋值

如何通过在html5中单击按钮将网页转换为pdf

安卓如何实现点击一个按钮退出整个程序?

c#如何单击按钮显示另一个窗体

单击JFrame上的退出按钮需要关闭JFrame

单击按钮退出框架时删除拖放对象