package com.weikou.beibeivideo;
|
|
import android.app.Application;
|
import android.content.BroadcastReceiver;
|
import android.content.Context;
|
import android.content.Intent;
|
import android.content.IntentFilter;
|
import android.support.multidex.MultiDex;
|
import android.util.Log;
|
|
import com.bytedance.sdk.openadsdk.TTAdConfig;
|
import com.bytedance.sdk.openadsdk.TTAdConstant;
|
import com.bytedance.sdk.openadsdk.TTAdSdk;
|
import com.lcjian.library.util.ManifestDataUtil;
|
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.GDTADManager;
|
import com.tencent.mm.opensdk.constants.ConstantsAPI;
|
import com.tencent.mm.opensdk.openapi.IWXAPI;
|
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
|
import com.tencent.smtt.sdk.QbSdk;
|
import com.umeng.analytics.MobclickAgent;
|
import com.umeng.commonsdk.UMConfigure;
|
import com.umeng.socialize.PlatformConfig;
|
import com.umeng.socialize.UMShareAPI;
|
import com.weikou.beibeivideo.util.BeibeiConstant;
|
import com.weikou.beibeivideo.util.CrashHandler;
|
import com.weikou.beibeivideo.util.ad.TTAdManagerHolder;
|
|
public class BeibeiVideoApplication extends Application {
|
public static BeibeiVideoApplication application = null;
|
public static String deviceName = null;
|
public static String deviceNumber = null;
|
public static String MMNumber;
|
public static IWXAPI mWxApi = null;
|
|
private static int mStatusBarHeight;
|
|
private static BeibeiVideoApplication instance;
|
|
public static BeibeiVideoApplication getInstance() {
|
return instance;
|
}
|
|
|
@Override
|
public void onCreate() {
|
if (BeibeiConstant.DEBUG) {
|
CrashHandler crashHandler = CrashHandler.getInstance();
|
crashHandler.init(getApplicationContext());
|
}
|
application = this;
|
MultiDex.install(this);
|
//友盟初始化
|
String description = ManifestDataUtil.getAppMetaData(this, "UMENG_CHANNEL");
|
UMConfigure.init(this, getResources().getString(R.string.umeng_key), description, UMConfigure.DEVICE_TYPE_PHONE, null);
|
// 选用AUTO页面采集模式
|
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
|
|
|
UMShareAPI.get(this);
|
PlatformConfig.setWeixin(BeibeiConstant.WECHAT_ID, BeibeiConstant.WECHAT_KEY);
|
PlatformConfig.setQQZone(BeibeiConstant.QQ_ID, BeibeiConstant.QQ_KEY);
|
PlatformConfig.setSinaWeibo(BeibeiConstant.SINA_ID, BeibeiConstant.SINA_KEY, "http://sns.whalecloud.com/sina2/callback");
|
super.onCreate();
|
instance = this;
|
ImageLoader.getInstance().init(buildDefaultILC(this));
|
initX5();
|
initCSJAd();
|
GDTADManager.getInstance().initWith(this, BeibeiConstant.GDT_ID);
|
initWX();
|
|
}
|
|
|
private void initWX() {
|
//AppConst.WEIXIN.APP_ID是指你应用在微信开放平台上的AppID,记得替换
|
mWxApi = WXAPIFactory.createWXAPI(this, BeibeiConstant.WECHAT_ID, true);
|
// 将该app注册到微信
|
mWxApi.registerApp(BeibeiConstant.WECHAT_ID);
|
registerReceiver(new BroadcastReceiver() {
|
@Override
|
public void onReceive(Context context, Intent intent) {
|
// 将该app注册到微信
|
mWxApi.registerApp(BeibeiConstant.WECHAT_ID);
|
}
|
}, new IntentFilter(ConstantsAPI.ACTION_REFRESH_WXAPP));
|
}
|
|
|
private ImageLoaderConfiguration buildDefaultILC(Context context) {
|
// This configuration tuning is custom. You can tune every option, you may tune some of them,
|
// or you can create default configuration by
|
// ImageLoaderConfiguration.createDefault(this); method.
|
ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguration.Builder(context);
|
config.threadPriority(Thread.NORM_PRIORITY - 2);
|
config.denyCacheImageMultipleSizesInMemory();
|
config.diskCacheFileNameGenerator(new Md5FileNameGenerator());
|
config.diskCacheSize(50 * 1024 * 1024); // 50 MiB
|
config.tasksProcessingOrder(QueueProcessingType.LIFO);
|
config.writeDebugLogs(); // Remove for release app
|
|
return config.build();
|
}
|
|
private void initX5() {
|
QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
|
|
@Override
|
public void onViewInitFinished(boolean arg0) {
|
// TODO Auto-generated method stub
|
//x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
|
Log.d("app", " onViewInitFinished is " + arg0);
|
}
|
|
@Override
|
public void onCoreInitFinished() {
|
// TODO Auto-generated method stub
|
}
|
};
|
//x5内核初始化接口
|
QbSdk.initX5Environment(getApplicationContext(), cb);
|
}
|
|
|
/**
|
* 穿山甲广告初始化
|
*/
|
private void initCSJAd() {
|
TTAdManagerHolder.init(this);
|
}
|
}
|