package com.ckkj.water; import android.app.Activity; import android.app.ActivityManager; import android.app.Application; import android.content.Context; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.ckkj.water.mine.entity.MineUserInfoBean; import com.google.gson.Gson; import com.ckkj.water.network.NetWorkManager; import com.ckkj.water.utils.dataUtil.SharePreUtil; import com.ckkj.water.utils.manager.LanguageManager; import com.ckkj.water.utils.manager.ThemeManager; import com.ckkj.water.utils.manager.WaterUserInfoManager; import java.util.List; import me.jessyan.autosize.AutoSizeConfig; public class MyApplication extends Application { private static Context context; private static Activity mLaunchActivity; private static Activity currentActivity; private static MyApplication instance; private String TAG = "DINGDINGCAR-----"; //口令跳转 public static boolean hasJumped = false; public static void setCurrentActivity(Activity activity) { mLaunchActivity = activity; } public static Activity getLaunchActivity() { return mLaunchActivity; } public static synchronized boolean canJump() { if (!hasJumped) { hasJumped = true; return true; } return false; } public void initializeUmengSDK(){ //预初始化 // UMConfigure.preInit(context, AppConfig.UMENG_APP_KEY, "Android"); // UMConfigure.init(this,"5a12384aa40fa3551f0001d1" // ,"umeng",UMConfigure.DEVICE_TYPE_PHONE,""); // //日志开关 // UMConfigure.setLogEnabled(true); // //科大讯飞 该段初始化代码必须要放在用户还同意隐私协议政策之后 // // 将“12345678”替换成您申请的APPID,申请地址:http://www.xfyun.cn // // 请勿在“=”与appid之间添加任何空字符或者转义符 // SpeechUtility.createUtility(context, SpeechConstant.APPID +"=322c51d1"); //初始化厂商推送 } @Override public void onCreate() { super.onCreate(); instance = this; context = getApplicationContext(); // 恢复应用语言设置 applyStoredLocale(); // 检查并设置默认主题色(如果之前没有设置过,默认设为白色主题) applyDefaultTheme(); boolean isUserAgreed = SharePreUtil.getBoolean(ConstantUtil.SHARE_PRE_NAME,context,ConstantUtil.PRIVACY_POLICY_AGREED); if(isUserAgreed){ initializeUmengSDK(); } NetWorkManager.getInstance().init(this); AppConfig.USER_LOGIN = SharePreUtil.getBoolean(ConstantUtil.SHARE_PRE_NAME,context,ConstantUtil.USER_LOGIN); AppConfig.USER_TOKEN = SharePreUtil.getString(ConstantUtil.SHARE_PRE_NAME,context,ConstantUtil.USER_TOKEN); //单位JSON String userInfoJson = SharePreUtil.getString(ConstantUtil.SHARE_PRE_NAME,context, ConstantUtil.USER_INFO_JSON_CONTENT); if(!TextUtils.isEmpty(userInfoJson)){ MineUserInfoBean entity = new Gson().fromJson(userInfoJson, MineUserInfoBean.class); WaterUserInfoManager.getInstance().setUserInfo(entity); } registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { @Override public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle bundle) { } @Override public void onActivityStarted(@NonNull Activity activity) { } @Override public void onActivityResumed(@NonNull Activity activity) { if(activity != null){ Log.i("currentAct", "当前所在页面===============" + activity.getLocalClassName()+ "======================="); } } @Override public void onActivityPaused(@NonNull Activity activity) { } @Override public void onActivityStopped(@NonNull Activity activity) { } @Override public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle bundle) { } @Override public void onActivityDestroyed(@NonNull Activity activity) { } }); registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { @Override public void onActivityResumed(Activity activity) { currentActivity = activity; } @Override public void onActivityPaused(Activity activity) { if (currentActivity == activity) { currentActivity = null; } } // 其他回调方法可以留空 @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { currentActivity = activity; } @Override public void onActivityStarted(Activity activity) { currentActivity = activity; } @Override public void onActivityStopped(Activity activity) {} @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) {} @Override public void onActivityDestroyed(Activity activity) {} }); // AutoSizeConfig.getInstance() // // 是否使用设备真实尺寸 // .setUseDeviceSize(true) // // 是否支持 fragment // .setCustomFragment(true); android.util.Log.e("TEST", "hello"); } private boolean shouldInit() { ActivityManager am = ((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE)); List processInfos = am.getRunningAppProcesses(); String mainProcessName = getApplicationInfo().processName; int myPid = android.os.Process.myPid(); for (ActivityManager.RunningAppProcessInfo info : processInfos) { if (info.pid == myPid && mainProcessName.equals(info.processName)) { return true; } } return false; } public static Activity getCurrentActivity() { return instance.currentActivity; } public static Context getContext() { return context; } /** * 应用启动时恢复保存的语言设置 * 使用 AppCompatDelegate.setApplicationLocales() API */ private void applyStoredLocale() { LanguageManager.applyStoredLocale(); } /** * 检查并设置默认主题色 * 如果之前没有设置过主题(默认为 MODE_FOLLOW_SYSTEM),则设置为白色主题(MODE_LIGHT) */ private void applyDefaultTheme() { int currentTheme = ThemeManager.getCurrentTheme(context); if (currentTheme == ThemeManager.MODE_FOLLOW_SYSTEM) { ThemeManager.setCurrentTheme(context, ThemeManager.MODE_LIGHT); ThemeManager.applyTheme(ThemeManager.MODE_LIGHT); } else { ThemeManager.applyTheme(currentTheme); } } }