【发布时间】:2018-11-08 22:25:37
【问题描述】:
@SuppressLint({"MissingPermission", "NewApi"})
public void getDeviceIMEI() {
String deviceUniqueIdentifier = null;
String deviceImei = null;
if (null != telephonyManager) {
deviceUniqueIdentifier = telephonyManager.getDeviceId();
Log.d("Output_getDeviceIMEI", deviceUniqueIdentifier + "");
}
//
if (null == deviceUniqueIdentifier || 0 == deviceUniqueIdentifier.length()) {
// deviceUniqueIdentifier = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
// Log.d("Output_getDev_null", deviceUniqueIdentifier + "");
// }
if (null != telephonyManager) {
if ( Build.VERSION.SDK_INT <= Build.VERSION_CODES.O_MR1 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
deviceImei = telephonyManager.getImei();
Log.d("Output_deviceImei_IMEI", deviceImei + "");
}
}
if (null == deviceImei || 0 == deviceImei.length()) {
deviceImei = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
Log.d("Output_deviceImei", deviceImei + "");
}
}
【问题讨论】:
-
我的问题是“telephonyManager.getDeviceId();”这个方法在棉花糖之后不起作用,因为当我写它时,它要求我已经给出的奥利奥权限检查,但即使我无法获取 android 版本 8.1 的 IMEI 号码。
-
"telephonyManager.getDeviceId();"我的问题是这种方法在 6.0 之后不起作用,我想要 8.1 设备版本,即 oreo
-
你已经在使用
deviceImei = telephonyManager.getImei();还是不行? -
请访问此link,它与您的问题有关。
-
如果条件错误,试试这个
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){deviceImei = telephonyManager.getImei();}else{deviceImei =telephonyMgr.getDeviceId();}
标签: android telephonymanager android-8.0-oreo imei android-8.1-oreo