first
This commit is contained in:
187
app/src/main/java/com/ckkj/water/MyApplication.java
Normal file
187
app/src/main/java/com/ckkj/water/MyApplication.java
Normal file
@@ -0,0 +1,187 @@
|
||||
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.google.gson.Gson;
|
||||
import com.ckkj.water.fate.util.LunarDateLoader;
|
||||
import com.ckkj.water.login.entity.LoginEntity;
|
||||
import com.ckkj.water.network.NetWorkManager;
|
||||
import com.ckkj.water.utils.dataUtil.SharePreUtil;
|
||||
import com.ckkj.water.utils.manager.MingDengUserInfoManager;
|
||||
|
||||
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();
|
||||
// 异步预加载农历数据缓存
|
||||
LunarDateLoader.preloadLunarJson(this);
|
||||
|
||||
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);
|
||||
AppConfig.USER_SET_BIRTH_INFO = SharePreUtil.getBoolean(ConstantUtil.SHARE_PRE_NAME,context,ConstantUtil.USER_HAS_SET_BIRTH);
|
||||
//单位JSON
|
||||
AppConfig.PRODUCT_UNIT_JSON = SharePreUtil.getString(ConstantUtil.SHARE_PRE_NAME,context,ConstantUtil.GOODS_UNIT_JSON);
|
||||
AppConfig.PRODUCT_BRAND_JSON = SharePreUtil.getString(ConstantUtil.SHARE_PRE_NAME,context,ConstantUtil.GOODS_BRAND_JSON);
|
||||
AppConfig.USER_ID = SharePreUtil.getString(ConstantUtil.SHARE_PRE_NAME,context, ConstantUtil.USER_ID);
|
||||
String userInfoJson = SharePreUtil.getString(ConstantUtil.SHARE_PRE_NAME,context, ConstantUtil.USER_INFO_JSON_CONTENT);
|
||||
if(!TextUtils.isEmpty(userInfoJson)){
|
||||
LoginEntity entity = new Gson().fromJson(userInfoJson, LoginEntity.class);
|
||||
MingDengUserInfoManager.getInstance().setEntity(entity);
|
||||
MingDengUserInfoManager.getInstance().setUserInfo(entity.getUser_info());
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
private boolean shouldInit() {
|
||||
ActivityManager am = ((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE));
|
||||
List<ActivityManager.RunningAppProcessInfo> 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user