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 | 166 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 164 insertions(+), 2 deletions(-) diff --git a/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java b/BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java index 48eb81d..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,14 +35,29 @@ 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; import org.apache.http.Header; +import org.json.JSONException; import org.json.JSONObject; + +import de.greenrobot.event.EventBus; + public class BeibeiVideoApplication extends Application { @@ -114,6 +133,7 @@ crashHandler.init(getApplicationContext()); } + this.registerActivityLifecycleCallbacks(new MyActivityLifecycleCallbacks()); application = this; MultiDex.install(this); //鍙嬬洘鍒濆鍖� @@ -160,11 +180,35 @@ } //鐧惧害鍐呭鑱旂洘 try { - AppActivity.setActionBarColorTheme(AppActivity.ActionBarColorTheme.ACTION_BAR_BLACK_THEME); + AppActivity.setActionBarColorTheme(AppActivity.ActionBarColorTheme.ACTION_BAR_WHITE_THEME); } catch (Exception e) { } + //鎺ㄩ�� + PushUtil.inintPush(this, new PushUtil.ITokenListener() { + @Override + public void onToken(String romType, String regId) { + BeibeiVideoAPI.pushBindToken(application, romType, regId, new BasicTextHttpResponseHandler() { + @Override + public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception { + + } + }, true); + } + }); + + Intent intent = new Intent(this, PushOpenClickActivity.class); + intent.putExtra("activity", "test"); + JSONObject params = new JSONObject(); + try { + params.put("id", "123123"); + } catch (JSONException e) { + e.printStackTrace(); + } + intent.putExtra("params", params.toString()); + String uriString = intent.toUri(Intent.URI_INTENT_SCHEME); + Log.i(TAG, uriString); } @@ -191,7 +235,7 @@ @Override public void onFailure(int code, String msg) { - Log.i(TAG,"鐧惧窛鍒濆鍖栧け璐ワ細"+code+"-"+msg); + Log.i(TAG, "鐧惧窛鍒濆鍖栧け璐ワ細" + code + "-" + msg); } }); @@ -240,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