想彻底关闭应用程序(want to close application completely)

2019-10-17 05:48发布

我想结束我的整个应用程序。 我已经尝试了finishActivity()上的反转压,但它不工作。 我想关闭自己的应用back完全按下事件。 我怎么能这样做呢?

 public void onImageViewClicked(View view){
        switch(view.getId()){
            case R.id.viewStk:
intent = new Intent(MainActivity.this,ViewStkActivity.class);
                startActivityForResult(intent, 12);
                break;
            case R.id.about:
                Intent aboutIntent = new  Intent(MainActivity.this,AboutActivity.class);
                startActivity(aboutIntent);
                break;
    } 

}

Answer 1:

我用:

@Override
public void onDestroy()
{
    super.onDestroy();
    // Force the process to be killed on finish(), not kept around
    System.runFinalizersOnExit(true);
    System.exit(0);
}

其使用后称为this.finish()

(这是活性的重写方法)

人们会抱怨,并告诉你它打破了Android应用的生命周期,但在开发过程中有我的应用程序的“退出”按钮是我的生产力立即提高。

编辑

显然,API的最新版本指出, runFinalizersOnExit功能已被弃用,不安全。 我已经与它姜饼,ICS,或JB没有问题。 但是,在充分披露的利益,我会指出这一点。



Answer 2:

public void onClick(View v) {
    finish();
    android.os.Process.killProcess(android.os.Process.myPid());
}


Answer 3:

这也将有助于

Intent i = new Intent(yourScreen.this,Home.class);
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        i.putExtra("EXIT", true);
        startActivity(i);

而在家庭类的OnCreate,这样做是为了检查,

if (getIntent().getBooleanExtra("EXIT", false)) 
    {
        finish();
    }

这将基本上做的是在你是什么样的活动,无论,你可以调用主屏幕,清晰的顶部标志。 在主屏幕没有在onCreate方法,这将有助于清除stack..Now,如果按后退按钮为堆栈被清除,您将退出该应用程序的检查条件..

让我知道如果问题仍然存在...



Answer 4:

在activity.java文件需要执行(FX MainActivity.java)插入此:

    public void exitProgram(View view){
    finish();
    System.exit(0);
    }

只记得还调用该函数在你的.xml文件,FX:

<Button
...
...
android:onClick="exitProgram"
...
/>

终于在按钮属性,在“文本”属性 - 按小按钮旁边的字段,然后选择一个给你要使用的按钮 - 做。

一个好办法做到这一点? 一点都不。 但是,如果你只是想要一个“恐慌让-GET-失控,这里”按钮上,然后在这里你去。

有一吨的到实施退出的功能(如下所示其中之一)不同的方式 - 因为有大量的方法来实现简单的“Hello World”程序 - 每个人都有自己的价值,你真的应该考虑一下,为什么你选择一个你。



文章来源: want to close application completely