129 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| package com.novelbook.android;
 | ||
| 
 | ||
| import android.app.Activity;
 | ||
| import android.app.Application;
 | ||
| import android.content.Context;
 | ||
| import android.provider.SyncStateContract;
 | ||
| import android.util.Log;
 | ||
| 
 | ||
| import com.bytedance.sdk.openadsdk.TTAdConfig;
 | ||
| import com.bytedance.sdk.openadsdk.TTAdConstant;
 | ||
| import com.bytedance.sdk.openadsdk.TTAdSdk;
 | ||
| import com.google.gson.Gson;
 | ||
| import com.novelbook.android.AD.toutiao.TTAdManagerHolder;
 | ||
| import com.novelbook.android.bean.AdSetting;
 | ||
| import com.novelbook.android.netutils.HttpMethods;
 | ||
| import com.novelbook.android.netutils.NetUtil;
 | ||
| import com.novelbook.android.utils.Config;
 | ||
| import com.novelbook.android.utils.Constants;
 | ||
| import com.novelbook.android.utils.LogcatHelper;
 | ||
| import com.novelbook.android.utils.PageFactory;
 | ||
| import com.novelbook.android.AD.SplashAdManager;
 | ||
| import com.umeng.analytics.MobclickAgent;
 | ||
| import com.umeng.commonsdk.UMConfigure;
 | ||
| 
 | ||
| import org.litepal.LitePal;
 | ||
| 
 | ||
| import java.util.ArrayList;
 | ||
| import java.util.List;
 | ||
| 
 | ||
| public class MyApp extends Application {
 | ||
|     public static volatile Context applicationContext = null;
 | ||
|     SplashAdManager splashAdManager;
 | ||
|     private List<Activity> oList;//用于存放所有启动的Activity的集合
 | ||
|     @Override
 | ||
|     public void onCreate() {
 | ||
|         super.onCreate();
 | ||
|         oList = new ArrayList<Activity>();
 | ||
|         applicationContext = getApplicationContext();
 | ||
|         HttpMethods.USERAGENT = NetUtil.getUserAgent();
 | ||
|         HttpMethods.LOCALUSERAGENT = NetUtil.getUserAgent(applicationContext);
 | ||
|         initialConstants();
 | ||
|         PageFactory.createPageFactory(this);
 | ||
|         LogcatHelper.getInstance(this).start();
 | ||
|        // BlurKit.init(this);
 | ||
|         LitePal.initialize(this);
 | ||
|         splashAdManager = new SplashAdManager(this);
 | ||
|         initUmengApi();
 | ||
|         initAD();
 | ||
|     }
 | ||
|     private void initialConstants(){
 | ||
|         Config config=  Config.createConfig(this);
 | ||
|         Constants.SEX = config.getSexOption();
 | ||
|         Constants.PRE_LOAD_CHAPT =config.isPreLoadChapter();
 | ||
|         Gson gson = new Gson();
 | ||
|         Constants.AD_SETTING = gson.fromJson(config.getAdSetting(), AdSetting.class);
 | ||
|         if(Constants.AD_SETTING==null){
 | ||
|             Constants.AD_SETTING = new AdSetting();
 | ||
|         }
 | ||
|         Constants.SHOW_NOVEL_CHAPTER_URL =config.isShowChatpUrl();
 | ||
|         Constants.DECLARE = config.getDeclare();
 | ||
| 
 | ||
|         Constants.ONE_DP_SIZE = (int)applicationContext.getResources().getDimension(R.dimen.one_dp);
 | ||
|     }
 | ||
|     private void initUmengApi(){
 | ||
|         UMConfigure.init(applicationContext,UMConfigure.DEVICE_TYPE_PHONE,null);
 | ||
|         MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
 | ||
|     }
 | ||
|     private void initAD(){
 | ||
|         initAD_ChuanShanJia();
 | ||
|     }
 | ||
|     private void initAD_ChuanShanJia(){
 | ||
|         TTAdManagerHolder.init(applicationContext);
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     public boolean exit() {
 | ||
| 
 | ||
|         System.exit(-1);
 | ||
| 
 | ||
|         removeALLActivity_();
 | ||
| 
 | ||
|      return  true;
 | ||
|     }
 | ||
|     /**
 | ||
|      * 添加Activity
 | ||
|      */
 | ||
|     public void addActivity_(Activity activity) {
 | ||
| // 判断当前集合中不存在该Activity
 | ||
|         if (!oList.contains(activity)) {
 | ||
|             oList.add(activity);//把当前Activity添加到集合中
 | ||
|         }
 | ||
|         currentAct=activity;
 | ||
|     }
 | ||
|     private static Activity currentAct =null;
 | ||
|     public static Activity getCurrentActivity(){
 | ||
|       return   currentAct;
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|     /**
 | ||
|      * 销毁单个Activity
 | ||
|      */
 | ||
|     public void removeActivity_(Activity activity) {
 | ||
| //判断当前集合中存在该Activity
 | ||
|         if (oList.contains(activity)) {
 | ||
|             oList.remove(activity);//从集合中移除
 | ||
|             activity.finish();//销毁当前Activity
 | ||
|         }
 | ||
|     }
 | ||
|     /**
 | ||
|      * 销毁所有的Activity
 | ||
|      */
 | ||
|     public void removeALLActivity_() {
 | ||
|         //通过循环,把集合中的所有Activity销毁
 | ||
|         Log.d("MyApp", "removeALLActivity_: total activities to finish: " + oList.size());
 | ||
|         for (Activity activity : oList) {
 | ||
|             Log.d("MyApp", "removeALLActivity_: " + activity.getLocalClassName());
 | ||
|             activity.finish();
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     public List<Activity> getActivityList(){
 | ||
|         return oList;
 | ||
|     }
 | ||
| 
 | ||
| }
 |