App.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. package com.xunao.effectdemo;
  2. import android.app.Application;
  3. import android.content.Context;
  4. import android.content.pm.PackageInfo;
  5. import android.content.pm.PackageManager;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import com.xunao.effectdemo.dlan.CastManager;
  9. import com.blankj.utilcode.util.DeviceUtils;
  10. import com.hpplay.sdk.source.api.IBindSdkListener;
  11. import com.hpplay.sdk.source.api.ILelinkPlayerListener;
  12. import com.hpplay.sdk.source.api.LelinkSourceSDK;
  13. import com.hpplay.sdk.source.browse.api.IAPI;
  14. import com.uc.crashsdk.export.CrashApi;
  15. import com.umeng.analytics.MobclickAgent;
  16. import com.umeng.commonsdk.UMConfigure;
  17. import com.xunao.effectdemo.umeng.UmInitConfig;
  18. import java.security.MessageDigest;
  19. import java.security.NoSuchAlgorithmException;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. import java.util.Locale;
  23. import cn.jpush.android.api.JPushInterface;
  24. /**
  25. * author : 程中强
  26. * e-mail : 740479946@qq.com
  27. * date : 2022/8/315:31
  28. * desc :
  29. * version: 1.0
  30. */
  31. public class App extends Application {
  32. public static App app;
  33. private IBindSdkListener mBindSdkListener;
  34. public static App getInstance() {
  35. return app;
  36. }
  37. @Override
  38. public void onCreate() {
  39. super.onCreate();
  40. initUmengSDK();
  41. app = this;
  42. JPushInterface.setDebugMode(true);
  43. JPushInterface.init(this);
  44. // getSHA1Signature(this);
  45. initLebo();
  46. }
  47. private final List<ILelinkPlayerListener> mListenerList = new ArrayList<>();
  48. void initLebo(){
  49. mBindSdkListener = new IBindSdkListener() {
  50. @Override
  51. public void onBindCallback(boolean success) {
  52. Log.e("LeBo","初始化:"+success);
  53. LelinkSourceSDK.getInstance().setPermissionMode( IAPI.PERMISSION_MODE_CLOUD_LICENSE, DeviceUtils.getUniqueDeviceId());
  54. }
  55. };
  56. // DLNAControlCenter.getInstance();
  57. LelinkSourceSDK.getInstance()
  58. .setBindSdkListener(mBindSdkListener)
  59. .setPlayListener(CastManager.getInstance().getLelinkPlayerListener())
  60. .setSdkInitInfo(this, "17894", "69ce8955094258d339c1b6eadef2ec09")
  61. // .setSdkInitInfo(this,"20268", "30ff4917114c5241eddbef00e5be7f6b")
  62. .bindSdk();
  63. }
  64. /**
  65. * 初始化友盟SDK
  66. */
  67. private void initUmengSDK() {
  68. // sharedPreferencesHelper=new SharedPreferencesHelper(this,"umeng");
  69. //设置LOG开关,默认为false
  70. UMConfigure.setLogEnabled(true);
  71. //友盟预初始化
  72. UMConfigure.preInit(getApplicationContext(),"6304343088ccdf4b7e0d67bb","Umeng");
  73. /**
  74. * 打开app首次隐私协议授权,以及sdk初始化,判断逻辑请查看SplashTestActivity
  75. */
  76. //判断是否同意隐私协议,uminit为1时为已经同意,直接初始化umsdk
  77. //友盟正式初始化
  78. UmInitConfig umInitConfig=new UmInitConfig();
  79. umInitConfig.UMinit(getApplicationContext());
  80. final Bundle customInfo = new Bundle();
  81. customInfo.putBoolean("mCallNativeDefaultHandler",true);
  82. CrashApi.getInstance().updateCustomInfo(customInfo);
  83. // 自动采集选择
  84. MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
  85. // 支持在子进程中统计自定义事件
  86. UMConfigure.setProcessEvent(true);
  87. }
  88. public void getSHA1Signature(Context context) {
  89. try {
  90. PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
  91. byte[] cert = info.signatures[0].toByteArray();
  92. MessageDigest md = MessageDigest.getInstance("MD5");
  93. byte[] publicKey = md.digest(cert);
  94. StringBuilder hexString = new StringBuilder();
  95. for (int i = 0; i < publicKey.length; i++) {
  96. String appendString = Integer.toHexString(0xFF & publicKey[i])
  97. .toUpperCase(Locale.US);
  98. if (appendString.length() == 1)
  99. hexString.append("0");
  100. appendString.replaceAll(":","");
  101. hexString.append(appendString);
  102. hexString.append(":");
  103. }
  104. Log.e("MyTag","签名:"+hexString.toString());
  105. } catch (PackageManager.NameNotFoundException e) {
  106. e.printStackTrace();
  107. } catch (NoSuchAlgorithmException e) {
  108. e.printStackTrace();
  109. }
  110. }
  111. /**
  112. * 将给定字符串中给定的区域的字符转换成小写
  113. *
  114. * @param str 给定字符串中
  115. * @param beginIndex 开始索引(包括)
  116. * @param endIndex 结束索引(不包括)
  117. * @return 新的字符串
  118. */
  119. public static String toLowerCase(String str, int beginIndex, int endIndex) {
  120. return str.replaceFirst(str.substring(beginIndex, endIndex),
  121. str.substring(beginIndex, endIndex)
  122. .toLowerCase(Locale.getDefault()));
  123. }
  124. }