2012-05-28 90 views
1

嗨,我想知道如何关闭Android中的应用程序。 其实我有想法通过精加工()方法中,我们可以关闭目前的活动.. 但我想要的是,下面的代码定义其余...关闭一个android应用程序?

Main.java

Handler handle=new Handler(); 

    handle.postDelayed(new Runnable() { 

     @Override 
     public void run() { 
      // TODO Auto-generated method stub 
      startActivity(new Intent(ZzzzzProjActivity.this,Second.class)); 
     } 
    }, 3000); 

二的.java

/*** same above code***/ 

Third.java

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // TODO Auto-generated method stub 
    if(keyCode == KeyEvent.KEYCODE_BACK) 
    { 
     Toast.makeText(getApplicationContext(), "backbutton", 30).show(); 
     finish(); 

    } 
    return super.onKeyDown(keyCode, event); 

} 

根据下面的代码来到Third.java后,当我点击返回按钮时,它将导航回到Second.java页面。但是我想要的是我的应用程序需要完全关闭。任何人都可以帮助我...

+0

使用第二种方法http://stackoverflow.com/questions/10428197/clean-stack-and-exit-app-onbackpressed/10428358#10428358 –

回答

1

for Achive你应该完成当前的活动,当你从当前的一个调用另一个活动,就像当你从第一个调用second.class你应该完成第一个等等...,

即当你调用另一个activity.class那么你应该

CurrentActivity.this.finish完成currentActivity.class();

+0

这一个仅与finish()方法有关。它回到以前的活动。但我想要的是需要完全关闭应用程序... –

+0

@ user1208720在跳转到下一个活动之前的含义是关闭当前活动。 – drulabs

+0

感谢兄弟得到了我在想什么.......但我们可以关注这CurrentActivity.this.finish();在我们创建的每个应用程序中。使用这种方法不会有任何问题..写? –

5

您可以创建一个询问用户是否想退出的对话框活动。意图你可以设置

Intent.FLAG_ACTIVITY_CLEAR_TOP 

它将清除所有的堆栈和关闭你的应用程序。或者你可以做@ user1208720建议的内容。

0

完成每个活动,因为你正在离开它。像这样,只要你点击回来,就没有以前的活动,所以应用程序将退出。

另一种方式(通常不推荐用于Android)是使用“System.exit(0);”

+0

呵呵当然不是在创造活动..在离开活动时打电话完成。 – Kalaji

1

使用该代码来完成您的应用程序

Intent startMain = new Intent(Intent.ACTION_MAIN); 
    startMain.addCategory(Intent.CATEGORY_HOME); 
    startMain.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(startMain); 
+0

明白了。感谢您的代码....... –