Android应用程序完成后再次打开

时间:2014-05-03 08:03:45

标签: android android-activity activity-finish

在我的主菜单中,我尝试使用手机上的后退按钮和AlertDialog完成应用。

这是我的代码:

    Button zumspiel;
    Button lineup;
    Button social;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_menu);


        lineup = (Button) findViewById(R.id.btLineup);
        lineup.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent lineup = new Intent(MainMenu.this, LineUp_Auswahl.class);
                startActivity(lineup);


            }
        });

        zumspiel = (Button) findViewById(R.id.btZumSpiel);
        zumspiel.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent spiel = new Intent(MainMenu.this, VormSpiel.class);
                startActivity(spiel);

            }
        });




        social = (Button) findViewById(R.id.btSocial);
        social.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent high = new Intent(MainMenu.this, SozialeMedien.class);
                startActivity(high);

            }
        });

    }

    @Override
    public void onBackPressed() {
        new AlertDialog.Builder(this)
            .setIcon(android.R.drawable.ic_dialog_alert)
            .setTitle("Wüstenfest App schließen")
            .setMessage("Bist du sicher dass du die App beenden möchtest?")
            .setPositiveButton("Ja!", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                android.os.Process.killProcess(android.os.Process.myPid());
                finish();    
            }

        })
        .setNegativeButton("Nein, natürlich nicht!", null)
        .show();
    }

现在我的问题是,当我在Ja上按AlertDialog时,当前MainMenu活动正在关闭,但会打开一个新活动。当我再次尝试退出时,它可以工作。我的方式出了什么问题?

1 个答案:

答案 0 :(得分:1)

不要这样做

android.os.Process.killProcess(android.os.Process.myPid());

当您的进程突然死亡时,Android会尝试重新创建它。如果您只想关闭活动,请致电finish()super.onBackPressed()

一般来说,您无论如何都不需要显示退出对话框。用户已经对BACK应该做什么有所期望。