Commit 4c7b85ef by YKai

fix:小米手机10以下安卓系统获取不到设备id问题

parent 21033e83
......@@ -264,7 +264,7 @@ ext {
"protector" : "com.ydl:protector:1.0.1-SNAPSHOT@aar",
"ydl-hnet" : "com.ydl:h-net:0.0.8",
"ydl-user-router" : "com.ydl:router:1.0.0-SNAPSHOT@aar",
"ydl-device" : "com.ydl:device-id:0.0.28@aar",
"ydl-device" : "com.ydl:device-id:0.0.30@aar",
"ydl-net" : "com.ydl:ydl-net:${ydlCompileVersion["ydl-net"]}",
"ydl-utils" : "com.ydl:ydl-utils:${ydlCompileVersion["ydl-utils"]}",
......
......@@ -4,18 +4,21 @@ import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkInfo
import android.net.wifi.WifiManager
import android.os.Build
import android.text.TextUtils
import android.util.Log
//import com.bun.miitmdid.content.ContextKeeper
import com.google.gson.Gson
//import com.ydl.devicesidlib.DemoHelper
import com.ydl.devicesidlib.DeviceIDHelper
import com.ydl.devicesidlib.Utils
import com.ydl.ydlcommon.base.BaseApp
import com.ydl.ydlcommon.data.http.api.ApiRequestUtil
import com.ydl.ydlcommon.data.http.params.ActionDataBean
import com.ydl.ydlcommon.data.http.params.BaiduActionDataBean
import com.ydl.ydlcommon.modular.ModularServiceManager
import com.ydl.ydlcommon.router.YdlCommonOut
import com.ydl.ydlcommon.utils.ActivityManager
import com.ydl.ydlcommon.utils.DeviceTool
import com.yidianling.common.tools.LogUtil
import com.yidianling.common.tools.RxDeviceTool
......@@ -40,15 +43,17 @@ class ActionCountUtils {
var appId: String = ""
var appName: String = ""
var packageName: String = ""
/**
* appId:消息端来源 - ydl:ydl-app-android-user、xlzx:ydl-app-android-xlzx
* appName:应用名称 - "心理咨询" else "壹点灵心理咨询"
*/
fun init(id:String,name:String){
fun init(id: String, name: String) {
packageName = BaseApp.instance.packageName
appId = id
appName = name
}
/**
* BI埋点封装方法
* 传入埋点事件名称 格式:xxx|xxx
......@@ -205,8 +210,22 @@ class ActionCountUtils {
val baiduActionDataParams = BaiduActionDataBean.Builder()
baiduActionDataParams.pkname = packageName
baiduActionDataParams.deviceType = 2
val deviceId =
DeviceIDHelper.getInstance().deviceId
var deviceId = ""
/*
* 因为DeviceIDHelper.getInstance().deviceId对于imei
* 序列号对于小米手机Utils.getIMEI(context)
* 第一次安装获取失败,第二次打开就能成功
* 所以Utils.getIMEI(topTaskActivity)传入activity解决这个问题
* */
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {
val topTaskActivity = ActivityManager.getInstance().getTopTaskActivity()
//获取imei
deviceId == Utils.getIMEI(topTaskActivity)
} else {
//android Q及以上取oaid
deviceId = DeviceIDHelper.getInstance().deviceId
}
LogUtil.e("deviceId:$deviceId")
baiduActionDataParams.deviceId(deviceId)
baiduActionDataParams.convertType(convertType)
baiduActionDataParams.convertTime(System.currentTimeMillis() / 1000)
......@@ -336,7 +355,8 @@ class ActionCountUtils {
private fun isWifi(): Boolean {
try {
var connectivityManager: ConnectivityManager =
RxTool.getContext().getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
RxTool.getContext()
.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
var info: NetworkInfo = connectivityManager.activeNetworkInfo
if (info != null && info.type == ConnectivityManager.TYPE_WIFI) {
return true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment