想完全关闭应用程序

时间:2012-09-12 05:31:22

标签: android android-intent

我想关闭整个申请表。我在背面按下了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;
    } 

}

4 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:4)

我用:

@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函数已弃用且不安全。我对Gingerbread,ICS或JB没有任何问题。但为了充分披露,我会指出这一点。

答案 2 :(得分:0)

这也有帮助

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

并在Home类的onCreate中,执行此操作以进行检查,

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

这将基本上做的是无论你是什么活动,你都可以使用clear top标志调用主屏幕。在主屏幕中,onCreate方法中有一个检查条件,它将有助于清除堆栈。现在,如果按下后退按钮,您将在清除堆栈时退出应用程序..

如果问题仍然存在,请告诉我......

答案 3 :(得分:-1)

在需要实现的activity.java文件(fx MainActivity.java)中插入以下代码:

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

请记住,还要在.xml文件fx中调用该函数:

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

最后,在按钮属性的“文本”属性处-按下字段旁边的小按钮,然后为要使用的按钮选择一个-完成。

一个好的方法吗?一点都不。但是,如果您只想单击“紧急情况下离开这里”按钮,则可以开始。

有很多实现退出功能的方法(这里显示了其中一种)-因为有很多实现简单的“ Hello World”程序的方法-每个都有其价值,您应该认真考虑,为什么选择了自己的一个。