Android完全退出程序

来源:互联网 发布:php redis lua 编辑:程序博客网 时间:2024/06/08 07:37

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);           }       }}

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

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

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()

四、此方法已经成功测试通过!

0 0
原创粉丝点击