android 点击退出按钮 结束所有的activity 回到手机主页面

android 点击退出按钮 结束所有的activity 回到手机主页面
我 实现了回到主页面 但是在点击这个程序 他还是回到**退出的界面 **

我要实现点击按钮回到手机主页面 在点击这个程序后就重新 启动

_
现在代码如下:_
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// Toast.makeText(mcontext, "点击了退出按钮!!!",
// Toast.LENGTH_SHORT).show();
CustomDialog.this.dismiss();
Activity activity = (Activity) mcontext;
// activity.finish();
// 退出程序
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_HOME);
activity.startActivity(intent);
System.exit(0);
}
});

http://blog.csdn.net/javasus/article/details/50240077

Intent.CATEGORY_HOME是返回手机桌面的意思

创建一个List,所有点击的Activity都用 List保存起来。 然后写一个循环 全部关掉。就退出APP了。

Process.killProcess(Process.myPid());

把自己的进程干掉。

第一行代码 这本书书里有这种做法的介绍 建议看一下

/**
* 双击手机的后退键,退出程序!
* @param keyCode
* @param event
* @return
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
if((System.currentTimeMillis()-exitTime) > 2000){
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
}

创建一个工具类,里面有list属性,在每个activity的oncreate里add,点击结束时,finish掉所有activity,亲测只有这种方法是彻底结束,其他方法都是结束当前的activity。