|
@@ -6,9 +6,11 @@ import android.content.Context
|
|
|
import android.content.Context.KEYGUARD_SERVICE
|
|
|
import android.os.Build
|
|
|
import android.os.PowerManager
|
|
|
+import android.telephony.TelephonyManager
|
|
|
import android.util.Log
|
|
|
import com.enation.javashop.utils.base.tool.SystemTool
|
|
|
import com.google.common.base.Strings
|
|
|
+import java.lang.Exception
|
|
|
|
|
|
object Util {
|
|
|
|
|
@@ -19,13 +21,24 @@ object Util {
|
|
|
*/
|
|
|
@SuppressLint("MissingPermission", "PrivateApi")
|
|
|
fun getIMEI(context: Context): String {
|
|
|
- val imei = SystemTool.getPhoneImei(context)
|
|
|
- if (Strings.isNullOrEmpty(imei)) {
|
|
|
- return "35" + //we make this look like a valid IMEI
|
|
|
- Build.BOARD.length % 10 + Build.BRAND.length % 10 + Build.CPU_ABI.length % 10 + Build.DEVICE.length % 10 + Build.DISPLAY.length % 10 + Build.HOST.length % 10 + Build.ID.length % 10 + Build.MANUFACTURER.length % 10 + Build.MODEL.length % 10 + Build.PRODUCT.length % 10 + Build.TAGS.length % 10 + Build.TYPE.length % 10 + Build.USER.length % 10 //13 digits
|
|
|
- } else {
|
|
|
- return imei
|
|
|
+ IMEI = SystemTool.getPhoneImei(context)
|
|
|
+ if (Strings.isNullOrEmpty(IMEI)) {
|
|
|
+ val tm = (context.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager)
|
|
|
+ try {
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
|
+ IMEI = tm.imei
|
|
|
+ } else {
|
|
|
+ IMEI = tm.deviceId
|
|
|
+ }
|
|
|
+ }catch (e:Exception){
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Strings.isNullOrEmpty(IMEI)) {
|
|
|
+ IMEI = "35" + //we make this look like a valid IMEI
|
|
|
+ Build.BOARD.length % 10 + Build.BRAND.length % 10 + Build.CPU_ABI.length % 10 + Build.DEVICE.length % 10 + Build.DISPLAY.length % 10 + Build.HOST.length % 10 + Build.ID.length % 10 + Build.MANUFACTURER.length % 10 + Build.MODEL.length % 10 + Build.PRODUCT.length % 10 + Build.TAGS.length % 10 + Build.TYPE.length % 10 + Build.USER.length % 10 //13 digits
|
|
|
+ }
|
|
|
}
|
|
|
+ return IMEI
|
|
|
}
|
|
|
|
|
|
/**
|