From fd238846980b17d893d703ac8e56869bd3f23c89 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 30 十一月 2022 23:10:13 +0800 Subject: [PATCH] 哀悼模式 --- BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 155 insertions(+), 6 deletions(-) diff --git a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java index 6ee6aec..ff565a1 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java @@ -31,16 +31,20 @@ import com.bytedance.novel.pangolin.data.ReaderFontType; import com.bytedance.sdk.dp.DPSdk; import com.bytedance.sdk.dp.DPSdkConfig; +import com.bytedance.sdk.dp.IDPPrivacyController; import com.bytedance.sdk.openadsdk.TTAdSdk; import com.funshion.playsdk.register.IAuthCodeGetter; import com.kwad.sdk.api.KsAdSDK; +import com.kwad.sdk.api.KsCustomController; import com.kwad.sdk.api.SdkConfig; import com.lcjian.library.util.ManifestDataUtil; +import com.lcjian.library.util.common.DeviceUtil; import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.QueueProcessingType; import com.qq.e.comm.managers.GDTAdSdk; +import com.qq.e.comm.managers.setting.GlobalSetting; import com.tencent.mm.opensdk.constants.ConstantsAPI; import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.WXAPIFactory; @@ -57,6 +61,7 @@ import com.weikou.beibeivideo.ui.ad.SplashAdActivity; import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.CrashHandler; +import com.weikou.beibeivideo.util.DebuggerUtils; import com.weikou.beibeivideo.util.UserUtil; import com.weikou.beibeivideo.util.ad.AdUtil; import com.weikou.beibeivideo.util.ad.CSJConstant; @@ -69,6 +74,10 @@ import org.apache.http.Header; import org.greenrobot.eventbus.EventBus; import org.json.JSONObject; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; import androidx.multidex.MultiDex; @@ -92,6 +101,27 @@ } private static boolean inited = false; + + private static List<Activity> mActivitys = Collections.synchronizedList(new LinkedList<Activity>()); + + public static void pushActivity(Activity activity) { + mActivitys.add(activity); + } + + public static void popActivity(Activity activity) { + mActivitys.remove(activity); + } + + public static void finishAllActivity() { + if (mActivitys == null) { + return; + } + for (Activity activity : mActivitys) { + activity.finish(); + } + mActivitys.clear(); + } + //鍏煎4.4浠ヤ笅鐗堟湰 protected void attachBaseContext(Context newBase) { @@ -154,6 +184,7 @@ CrashHandler crashHandler = CrashHandler.getInstance(); crashHandler.init(getApplicationContext()); } + application = this; instance = this; MultiDex.install(this); @@ -176,12 +207,14 @@ public static void init(final Application application, InitListener initListener) { Log.i(TAG, "绯荤粺鍒濆鍖�"); inited = true; + registerActivityListener(application); + //闃叉鍔ㄦ�佷唬鐮佹敞鍏� + DebuggerUtils.checkDebuggableInNotDebugModel(application); try { - TelephonyManager manager = (TelephonyManager) application.getSystemService(TELEPHONY_SERVICE); Build bd = new Build(); String model = bd.MODEL; BeibeiVideoApplication.deviceName = model; - BeibeiVideoApplication.deviceNumber = manager.getDeviceId(); + BeibeiVideoApplication.deviceNumber = DeviceUtil.getImeiCache(application); } catch (Exception e) { } @@ -198,9 +231,12 @@ String description = ManifestDataUtil.getAppMetaData(application, "UMENG_CHANNEL"); try { UMConfigure.setLogEnabled(false); + UMConfigure.submitPolicyGrantResult(application, false); UMConfigure.init(application, application.getResources().getString(R.string.umeng_key), description, UMConfigure.DEVICE_TYPE_PHONE, null); // 閫夌敤AUTO椤甸潰閲囬泦妯″紡 MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO); + + UMConfigure.submitPolicyGrantResult(application, false); } catch (Throwable e) { } @@ -214,6 +250,7 @@ initCSJAd(application, initListener); initKSSDK(application); try { + GlobalSetting.setEnableCollectAppInstallStatus(false); GDTAdSdk.init(application, BeibeiConstant.GDT_ID); } catch (Exception e) { e.printStackTrace(); @@ -293,9 +330,6 @@ }; //x5鍐呮牳鍒濆鍖栨帴鍙� QbSdk.initX5Environment(application, cb); - QbSdk.canGetDeviceId(false); - QbSdk.canGetAndroidId(false); - QbSdk.canGetSubscriberId(false); } @@ -328,7 +362,43 @@ .appId("801000001") // 娴嬭瘯aapId锛岃鑱旂郴蹇伎骞冲彴鐢宠姝e紡AppId锛屽繀濉� .appName(appContext.getString(R.string.app_name)) // 娴嬭瘯appName锛岃濉啓鎮ㄥ簲饨ょ殑鍚嶇О锛屸井蹇呭~ .showNotification(true) // 鏄惁灞曠ず涓嬭浇閫氱煡鏍� - .debug(true) // 鏄惁寮�鍚痵dk 璋冭瘯饨囧織 鍙�� + .debug(false) + .customController(new KsCustomController() { + @Override + public boolean canReadLocation() { + return false; + } + + @Override + public boolean canUsePhoneState() { + return false; + } + + @Override + public boolean canUseOaid() { + return false; + } + + @Override + public String getImei() { + return DeviceUtil.getImeiCache(appContext); + } + + @Override + public boolean canUseMacAddress() { + return false; + } + + @Override + public boolean canReadInstalledPackages() { + return false; + } + + @Override + public List<String> getInstalledPackages() { + return DeviceUtil.getInstalledPackageNamesCache(appContext); + } + })// 鏄惁寮�鍚痵dk 璋冭瘯饨囧織 鍙�� .build()); } @@ -377,6 +447,32 @@ DPSdkConfig.Builder configBuilder = new DPSdkConfig.Builder() .debug(false) .needInitAppLog(false) + .privacyController(new IDPPrivacyController() { + @Override + public boolean isCanUsePhoneState() { + return false; + } + + @Override + public String getImei() { + return DeviceUtil.getImeiCache(application); + } + + @Override + public String getImsi() { + return DeviceUtil.getImsiCache(application); + } + + @Override + public boolean isCanUseAndroidId() { + return false; + } + + @Override + public String getAndroidId() { + return super.getAndroidId(); + } + }) .initListener(new DPSdkConfig.InitListener() { @Override public void onInitComplete(boolean b, String s) { @@ -524,4 +620,57 @@ public void onFinish(); } + + private static void registerActivityListener(Application application) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + application.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { + @Override + public void onActivityCreated(Activity activity, Bundle savedInstanceState) { + /** + * 鐩戝惉鍒� Activity鍒涘缓浜嬩欢 灏嗚 Activity 鍔犲叆list + */ + pushActivity(activity); + } + + @Override + public void onActivityStarted(Activity activity) { + + } + + @Override + public void onActivityResumed(Activity activity) { + + } + + @Override + public void onActivityPaused(Activity activity) { + + } + + @Override + public void onActivityStopped(Activity activity) { + + } + + @Override + public void onActivitySaveInstanceState(Activity activity, Bundle outState) { + + } + + @Override + public void onActivityDestroyed(Activity activity) { + if (null==mActivitys||mActivitys.isEmpty()) { + return; + } + if (mActivitys.contains(activity)) { + /** + * 鐩戝惉鍒� Activity閿�姣佷簨浠� 灏嗚Activity 浠巐ist涓Щ闄� + */ + popActivity(activity); + } + } + }); + } + } + } -- Gitblit v1.8.0