123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- package com.xunao.effectdemo;
- import android.app.Application;
- import android.content.Context;
- import android.content.pm.PackageInfo;
- import android.content.pm.PackageManager;
- import android.os.Bundle;
- import android.util.Log;
- import com.xunao.effectdemo.dlan.CastManager;
- import com.blankj.utilcode.util.DeviceUtils;
- import com.hpplay.sdk.source.api.IBindSdkListener;
- import com.hpplay.sdk.source.api.ILelinkPlayerListener;
- import com.hpplay.sdk.source.api.LelinkSourceSDK;
- import com.hpplay.sdk.source.browse.api.IAPI;
- import com.uc.crashsdk.export.CrashApi;
- import com.umeng.analytics.MobclickAgent;
- import com.umeng.commonsdk.UMConfigure;
- import com.xunao.effectdemo.umeng.UmInitConfig;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Locale;
- import cn.jpush.android.api.JPushInterface;
- /**
- * author : 程中强
- * e-mail : 740479946@qq.com
- * date : 2022/8/315:31
- * desc :
- * version: 1.0
- */
- public class App extends Application {
- public static App app;
- private IBindSdkListener mBindSdkListener;
- public static App getInstance() {
- return app;
- }
- @Override
- public void onCreate() {
- super.onCreate();
- initUmengSDK();
- app = this;
- JPushInterface.setDebugMode(true);
- JPushInterface.init(this);
- // getSHA1Signature(this);
- initLebo();
- }
- private final List<ILelinkPlayerListener> mListenerList = new ArrayList<>();
- void initLebo(){
- mBindSdkListener = new IBindSdkListener() {
- @Override
- public void onBindCallback(boolean success) {
- Log.e("LeBo","初始化:"+success);
- LelinkSourceSDK.getInstance().setPermissionMode( IAPI.PERMISSION_MODE_CLOUD_LICENSE, DeviceUtils.getUniqueDeviceId());
- }
- };
- // DLNAControlCenter.getInstance();
- LelinkSourceSDK.getInstance()
- .setBindSdkListener(mBindSdkListener)
- .setPlayListener(CastManager.getInstance().getLelinkPlayerListener())
- .setSdkInitInfo(this, "17894", "69ce8955094258d339c1b6eadef2ec09")
- // .setSdkInitInfo(this,"20268", "30ff4917114c5241eddbef00e5be7f6b")
- .bindSdk();
- }
- /**
- * 初始化友盟SDK
- */
- private void initUmengSDK() {
- // sharedPreferencesHelper=new SharedPreferencesHelper(this,"umeng");
- //设置LOG开关,默认为false
- UMConfigure.setLogEnabled(true);
- //友盟预初始化
- UMConfigure.preInit(getApplicationContext(),"6304343088ccdf4b7e0d67bb","Umeng");
- /**
- * 打开app首次隐私协议授权,以及sdk初始化,判断逻辑请查看SplashTestActivity
- */
- //判断是否同意隐私协议,uminit为1时为已经同意,直接初始化umsdk
- //友盟正式初始化
- UmInitConfig umInitConfig=new UmInitConfig();
- umInitConfig.UMinit(getApplicationContext());
- final Bundle customInfo = new Bundle();
- customInfo.putBoolean("mCallNativeDefaultHandler",true);
- CrashApi.getInstance().updateCustomInfo(customInfo);
- // 自动采集选择
- MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
- // 支持在子进程中统计自定义事件
- UMConfigure.setProcessEvent(true);
- }
- public void getSHA1Signature(Context context) {
- try {
- PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
- byte[] cert = info.signatures[0].toByteArray();
- MessageDigest md = MessageDigest.getInstance("MD5");
- byte[] publicKey = md.digest(cert);
- StringBuilder hexString = new StringBuilder();
- for (int i = 0; i < publicKey.length; i++) {
- String appendString = Integer.toHexString(0xFF & publicKey[i])
- .toUpperCase(Locale.US);
- if (appendString.length() == 1)
- hexString.append("0");
- appendString.replaceAll(":","");
- hexString.append(appendString);
- hexString.append(":");
- }
- Log.e("MyTag","签名:"+hexString.toString());
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- }
- /**
- * 将给定字符串中给定的区域的字符转换成小写
- *
- * @param str 给定字符串中
- * @param beginIndex 开始索引(包括)
- * @param endIndex 结束索引(不包括)
- * @return 新的字符串
- */
- public static String toLowerCase(String str, int beginIndex, int endIndex) {
- return str.replaceFirst(str.substring(beginIndex, endIndex),
- str.substring(beginIndex, endIndex)
- .toLowerCase(Locale.getDefault()));
- }
- }
|