| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | } |
| | | |
| | | 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) { |
| | |
| | | CrashHandler crashHandler = CrashHandler.getInstance(); |
| | | crashHandler.init(getApplicationContext()); |
| | | } |
| | | |
| | | application = this; |
| | | instance = this; |
| | | MultiDex.install(this); |
| | |
| | | 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) { |
| | | } |
| | | |
| | |
| | | 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) { |
| | | |
| | | } |
| | |
| | | initCSJAd(application, initListener); |
| | | initKSSDK(application); |
| | | try { |
| | | GlobalSetting.setEnableCollectAppInstallStatus(false); |
| | | GDTAdSdk.init(application, BeibeiConstant.GDT_ID); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | }; |
| | | //x5内核初始化接口 |
| | | QbSdk.initX5Environment(application, cb); |
| | | QbSdk.canGetDeviceId(false); |
| | | QbSdk.canGetAndroidId(false); |
| | | QbSdk.canGetSubscriberId(false); |
| | | } |
| | | |
| | | |
| | |
| | | .appId("801000001") // 测试aapId,请联系快⼿平台申请正式AppId,必填 |
| | | .appName(appContext.getString(R.string.app_name)) // 测试appName,请填写您应⽤的名称,⾮必填 |
| | | .showNotification(true) // 是否展示下载通知栏 |
| | | .debug(true) // 是否开启sdk 调试⽇志 可选 |
| | | .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); |
| | | } |
| | | })// 是否开启sdk 调试⽇志 可选 |
| | | .build()); |
| | | } |
| | | |
| | |
| | | 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) { |
| | |
| | | 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 从list中移除 |
| | | */ |
| | | popActivity(activity); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | } |