您的位置:首页 > 移动开发 > Android开发

Android完全退出程序

2014-05-22 11:45 204 查看
android程序如果按返回键正常退出则会在后台继续运行,Android 2.3以上的开发可以用下面的方法结束所有程序的activity!

一、创建一个公共类:
public class KillActivity extends Activity{

private List<Activity> activityList = new ArrayList<Activity>();

private static KillActivity instance;

protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
KillActivity.getInstance().addActivity(this);
super.onCreate(savedInstanceState);

}

public  static KillActivity getInstance() {
if (null == instance) {
instance = new KillActivity();
}
return instance;
}

public  void remove(Activity activity){

activityList.remove(activity);

}

protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
KillActivity.getInstance().remove(this);
}

public void addActivity(Activity activity) {
activityList.add(activity);
}

/**
* 遍历结束activity并且退出
*/
public void exit(){
try {
for (Activity activity : activityList)
{
if (activity != null)
activity.finish();
}

}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
}
}
}

[b]二、然后在所有的activity中继承此KillActivity;

[/b]

三、这样在退出界面调用下面函数即可:

public boolean onKeyDown(int keyCode, KeyEvent event)
{
// 按下键盘上返回按钮
if (keyCode == KeyEvent.KEYCODE_BACK)
{
new AlertDialog.Builder(this)
.setTitle("提示")
.setMessage("确认退出")
.setNegativeButton("取消",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
}
})
.setPositiveButton("确定",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog,int whichButton)
{
//  closed();
KillActivity.getInstance().exit();
}
}).show();

return true;
}
else
{
return super.onKeyDown(keyCode, event);
}
} //end of onKeyDown()


四、此方法已经成功测试通过!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: