在 android studio 中接收 IMEI 时显示错误
Display error when receiving IMEI in android studio
我有一个Android申请。
但是当我尝试使用 IMEI 时,它显示一条错误消息
这个错误:
The user 10379 does not meet the requirements to access device identifiers.
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
System.out.println("IMEI::" + telephonyManager.getDeviceId());
此代码会对您有所帮助。您无法获得高于 API 级别 26 的 IMEI。因此请使用 deviceId。此代码在 Kotlin 中。
private fun telephonyService() {
val telephonyManager = getSystemService(TELEPHONY_SERVICE) as TelephonyManager
val imei = if (android.os.Build.VERSION.SDK_INT >= 26) {
print("Phone >= 26 IMEI")
telephonyManager.imei
} else {
print("Phone IMEI < 26")
telephonyManager.deviceId
}
print("Phone IMEI $imei")
}
现在 android 限制了 imei 号码及其提供的软件号码。你可以试试这个,一定能解决你的问题。
public static String getIMEINumber(Context context) {
String deviceId;
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
deviceId = Settings.Secure.getString(
context.getContentResolver(),
Settings.Secure.ANDROID_ID);
} else {
final TelephonyManager mTelephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
if (mTelephony.getDeviceId() != null) {
deviceId = mTelephony.getDeviceId();
} else {
deviceId = Settings.Secure.getString(
context.getContentResolver(),
Settings.Secure.ANDROID_ID);
}
}
return deviceId;
}
我有一个Android申请。
但是当我尝试使用 IMEI 时,它显示一条错误消息
这个错误:
The user 10379 does not meet the requirements to access device identifiers.
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
System.out.println("IMEI::" + telephonyManager.getDeviceId());
此代码会对您有所帮助。您无法获得高于 API 级别 26 的 IMEI。因此请使用 deviceId。此代码在 Kotlin 中。
private fun telephonyService() {
val telephonyManager = getSystemService(TELEPHONY_SERVICE) as TelephonyManager
val imei = if (android.os.Build.VERSION.SDK_INT >= 26) {
print("Phone >= 26 IMEI")
telephonyManager.imei
} else {
print("Phone IMEI < 26")
telephonyManager.deviceId
}
print("Phone IMEI $imei")
}
现在 android 限制了 imei 号码及其提供的软件号码。你可以试试这个,一定能解决你的问题。
public static String getIMEINumber(Context context) {
String deviceId;
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
deviceId = Settings.Secure.getString(
context.getContentResolver(),
Settings.Secure.ANDROID_ID);
} else {
final TelephonyManager mTelephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
if (mTelephony.getDeviceId() != null) {
deviceId = mTelephony.getDeviceId();
} else {
deviceId = Settings.Secure.getString(
context.getContentResolver(),
Settings.Secure.ANDROID_ID);
}
}
return deviceId;
}