在Android开发过程中,经常有Activity 忘记finish了,退出后,再启动时,就会跳转到未结束的Activity。所以我在自己写的Application中加了一个方法。
package xidian.wwf.app;import java.util.ArrayList;import java.util.List;import xidian.wwf.R;  import android.app.Activity;import android.app.Application;/** * 应用配置类 * @author WWF * */public class AppManager extends Application{/**打开的activity**/private List<Activity> activities = new ArrayList<Activity>();/**应用实例**/private static AppManager instance;/** * 获得实例 * @return */public static AppManager getInstance(){return instance;}/** * 新建了一个activity * @param activity */public void addActivity(Activity activity){activities.add(activity);}/** * 结束指定的Activity * @param activity */public void finishActivity(Activity activity){if (activity!=null) {this.activities.remove(activity);activity.finish();activity = null;}}/** * 应用退出,结束所有的activity */public void exit(){for (Activity activity : activities) {if (activity!=null) {activity.finish();}}System.exit(0);}@Overridepublic void onCreate() {        instance = this;           }}

然后我写了一个BaseActivity,以后的Activity 都继承这个Activity,如下

package xidian.wwf.activity;import xidian.wwf.app.AppConfig;import xidian.wwf.app.AppManager;import android.app.Activity;import android.os.Bundle;import android.os.StrictMode;/** * 基本Activity * @author WWF * @date 2013-1-26 下午6:24:47 * @version */public class BaseActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//添加到Activity集合AppManager.getInstance().addActivity(this);//手机端SDK>10,即 android 2.3.x之后在主线程中访问网络需要加入如下代码if (AppConfig.getSDKVersionNumber()>10) {        // 详见StrictMode文档        StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()                .detectDiskReads()                .detectDiskWrites()                .detectNetwork()   // or .detectAll() for all detectable problems                .penaltyLog()                .build());        StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()                .detectLeakedSqlLiteObjects()                .detectLeakedClosableObjects()                .penaltyLog()                .penaltyDeath()                .build());}}@Overridepublic void onBackPressed() {super.onBackPressed();onDestroy();}@Overrideprotected void onDestroy() {super.onDestroy();//结束Activity&从集合中移除AppManager.getInstance().finishActivity(this);}}

更多相关文章

  1. Android版本更新实例详解
  2. android中图片加载到内存的实例代码
  3. SavedStateHandle的使用,临时保存数据
  4. Android获取arrays.xml里的数组字段值实例详解
  5. Android-NDK开发之基础--Android(安卓)JNI实例代码(四)-- JNI中
  6. android基础面试
  7. Android——网络编程(网络图片查看器)
  8. android用户界面之Gallery教程实例汇总
  9. Sqlite3 增删改查操作实例

随机推荐

  1. 【Android开发】Toolbar与标题居中
  2. android线程相关1
  3. Android之WebView教程实例汇总
  4. Android控件开发之Gallery
  5. Android Studio com.android.support:per
  6. Android(安卓)使用BroadCast实现强制下线
  7. Android Dialog的使用
  8. Android的快速开发框架 afinal
  9. android 状态栏背景修改为透明
  10. Android学习日记(UI组件)