From cbb88109494ffc7916f6639c20ce05c0cec941a9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 07 四月 2021 15:07:45 +0800 Subject: [PATCH] 3.9.1bug修复 --- BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java | 138 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 136 insertions(+), 2 deletions(-) diff --git a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java index 7856b82..6590024 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java @@ -1,11 +1,15 @@ package com.weikou.beibeivideo; +import android.app.Activity; +import android.app.ActivityManager; import android.app.Application; import android.content.BroadcastReceiver; +import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; +import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.multidex.MultiDex; @@ -31,10 +35,19 @@ import com.umeng.commonsdk.UMConfigure; import com.umeng.socialize.PlatformConfig; import com.umeng.socialize.UMShareAPI; +import com.weikou.beibeivideo.entity.ad.AdPidInfo; +import com.weikou.beibeivideo.entity.ad.AdPositionEnum; +import com.weikou.beibeivideo.entity.ad.SplashAdLoadInfo; +import com.weikou.beibeivideo.ui.SplashActivity; +import com.weikou.beibeivideo.ui.ad.SplashADFragment; +import com.weikou.beibeivideo.ui.ad.SplashAdActivity; import com.weikou.beibeivideo.ui.push.PushOpenClickActivity; import com.weikou.beibeivideo.util.BeibeiConstant; import com.weikou.beibeivideo.util.CrashHandler; import com.weikou.beibeivideo.util.FunshionConstant; +import com.weikou.beibeivideo.util.ad.AdUtil; +import com.weikou.beibeivideo.util.ad.CSJConstant; +import com.weikou.beibeivideo.util.ad.GDTConstant; import com.weikou.beibeivideo.util.ad.TTAdManagerHolder; import com.weikou.beibeivideo.util.downutil.StringUtils; import com.yeshi.push.PushUtil; @@ -42,6 +55,8 @@ import org.apache.http.Header; import org.json.JSONException; import org.json.JSONObject; + +import de.greenrobot.event.EventBus; public class BeibeiVideoApplication extends Application { @@ -118,6 +133,7 @@ crashHandler.init(getApplicationContext()); } + this.registerActivityLifecycleCallbacks(new MyActivityLifecycleCallbacks()); application = this; MultiDex.install(this); //鍙嬬洘鍒濆鍖� @@ -164,7 +180,7 @@ } //鐧惧害鍐呭鑱旂洘 try { - AppActivity.setActionBarColorTheme(AppActivity.ActionBarColorTheme.ACTION_BAR_BLACK_THEME); + AppActivity.setActionBarColorTheme(AppActivity.ActionBarColorTheme.ACTION_BAR_WHITE_THEME); } catch (Exception e) { } @@ -178,7 +194,7 @@ public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { } - },true); + }, true); } }); @@ -268,4 +284,122 @@ private void initCSJAd() { TTAdManagerHolder.init(this); } + + + class MyActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks { + private int mFinalCount; + + @Override + public void onActivityCreated(Activity activity, Bundle savedInstanceState) { + + } + + @Override + public void onActivityStarted(Activity activity) { + mFinalCount++; + //濡傛灉mFinalCount ==1锛岃鏄庢槸浠庡悗鍙板埌鍓嶅彴 + if (mFinalCount == 1) { + Log.e(TAG, "搴旂敤浠庡悗鍙板垏鎹㈠埌鍓嶅彴"); + // 杩涘叆鍓嶅彴 鏀逛负鐑惎鍔� + //鍒ゆ柇褰撳墠activity + ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); + ComponentName cn = am.getRunningTasks(1).get(0).topActivity; + if (!cn.getClassName().equalsIgnoreCase(SplashActivity.class.getName())) { + //灏忎簬30鍒嗛挓涓嶅睍绀� + // 娴嬭瘯 + if (System.currentTimeMillis() - SplashADFragment.lastShowTime < 1000 * 60 * 30L) + return; + + if (SplashADFragment.isAdLoaded()) { + startActivity(new Intent(getApplicationContext(), SplashAdActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); + return; + } + + AdUtil.AD_TYPE type1 = AdUtil.getAdType(getApplicationContext(), AdPositionEnum.splashHotStart); + String pid1 = AdUtil.getAdPid(getApplicationContext(), AdPositionEnum.splashHotStart); + + + AdPidInfo adPidInfo1 = null; + AdPidInfo adPidInfo2 = null; + if (type1 != null) { + String defaultPid = null; + if (type1 == AdUtil.AD_TYPE.csj) { + defaultPid = CSJConstant.SPLASH_AD_HOT; + } else if (type1 == AdUtil.AD_TYPE.gdt) { + defaultPid = GDTConstant.PID_SPLASH_HOT; + } + if (StringUtils.isNullOrEmpty(pid1)) { + defaultPid = pid1; + } + adPidInfo1 = new AdPidInfo(type1, defaultPid); + if (type1 == AdUtil.AD_TYPE.csj) { + adPidInfo2 = new AdPidInfo(AdUtil.AD_TYPE.gdt, GDTConstant.PID_SPLASH_HOT); + } else if (type1 == AdUtil.AD_TYPE.gdt) { + adPidInfo2 = new AdPidInfo(AdUtil.AD_TYPE.csj, CSJConstant.SPLASH_AD_HOT); + } + } + + + SplashADFragment.loadAd(getApplicationContext(), adPidInfo1, adPidInfo2, null, null, true, new SplashADFragment.AdLoadResultListener() { + + @Override + public void onAdLoad(SplashAdLoadInfo adLoadInfo) { + //灞曠ず骞垮憡 + try { + startActivity(new Intent(getApplicationContext(), SplashAdActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); + } catch (SecurityException e) { + + } catch (Exception e) { + + } + } + + @Override + public void onNoAd() { + + } + + @Override + public void onClose() { + //骞跨偣閫氬箍鍛婇�傜敤 + //缁撴潫骞垮憡 + //閫氳繃eventbus閫氱煡椤甸潰鍏抽棴 + EventBus.getDefault().post(new SplashAdLoadInfo(null, 0)); + } + }); + } + + } + } + + @Override + public void onActivityResumed(Activity activity) { + + } + + @Override + public void onActivityPaused(Activity activity) { + + } + + @Override + public void onActivityStopped(Activity activity) { + mFinalCount--; + //濡傛灉mFinalCount ==0锛岃鏄庢槸鍓嶅彴鍒板悗鍙� + if (mFinalCount == 0) { + Log.e(TAG, "搴旂敤浠庡墠鍙板垏鎹㈠埌鍚庡彴"); + } + + } + + @Override + public void onActivitySaveInstanceState(Activity activity, Bundle outState) { + + } + + @Override + public void onActivityDestroyed(Activity activity) { + + } + } } -- Gitblit v1.8.0