goback add

Android应用程序退出实例

2558 点击·0 回帖
灯火互联
楼主


1、Application当中代码:
[java] public class WeiboApplication extends Application {

    // 程序退出标记  
    private List<Activity> activities = new ArrayList<Activity>();

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

    @Override
    public void onTerminate() {
        super.onTerminate();

        for (Activity activity : activities) {
            activity.finish();
        }

        Android.os.Process.killProcess(Android.os.Process.myPid());
    }

}
public class WeiboApplication extends Application {
// 程序退出标记
private List<Activity> activities = new ArrayList<Activity>();
public void addActivity(Activity activity) {
  activities.add(activity);
}
@Override
public void onTerminate() {
  super.onTerminate();
  for (Activity activity : activities) {
   activity.finish();
  }
  Android.os.Process.killProcess(Android.os.Process.myPid());
}
}
2、每个Activity在oncreate当中的代码:
[java]@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main_activity);
        
        WeiboApplication app = (WeiboApplication) getApplication();
        app.addActivity(this);
    }
@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.main_activity);
  
  WeiboApplication app = (WeiboApplication) getApplication();
  app.addActivity(this);
}
3、在TabActivity当中设置退出代码(类似的可以在普通Activity当中设置)
[java] @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        if (event.getAction() == KeyEvent.ACTION_DOWN
                ;; event.getKeyCode() == KeyEvent.KEYCODE_BACK) {

            // 创建对话框 www.atcpu.com  
            LayoutInflater li = LayoutInflater.from(this);
            View exitV = li.inflate(R.layout.exitdialog, null);
            AlertDialog.Builder ab = new AlertDialog.Builder(this);
            ab.setView(exitV);// 设定对话框显示的View对象  
            ab.setPositiveButton(R.string.menu_logout_label, new OnClickListener() {
                public void onClick(Dialoginterface arg0, int arg1) {
                    // TODO Auto-generated method stub  
                    WeiboApplication app = (WeiboApplication) getApplication();
                    app.onTerminate();
                }
            });
            ab.setNegativeButton(R.string.cancel_button_title, null);
            // 显示对话框  
            ab.show();
            return false;
        }
        return false;
    };


喜欢0 评分0