private String getImei() {
String result = null;
try {
int slotId;
Class<?> manager = Class
.forName("android.telephony.SubscriptionManager");
if (Build.VERSION.SDK_INT >= 22) {
int subId = Settings.Global.getInt(getContentResolver(),
"multi_sim_data_call");
Method method = manager.getMethod("getSlotId", int.class);
slotId = (Integer) method.invoke(null, subId);
} else {
long subId = Settings.Global.getLong(getContentResolver(),
"multi_sim_data_call");
Method method = manager.getMethod("getSlotId", long.class);
slotId = (Integer) method.invoke(null, subId);
}
TelephonyManager service = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
Method getImei = TelephonyManager.class.getMethod("getImei",
int.class);
result = (String) getImei.invoke(service, slotId);
System.out.println("zyf imei:" + result);
} catch (Exception e2) {
System.out.println("zyf e:" + e2);
e2.printStackTrace();
}
return result;
}
本文详细介绍了在Android系统中获取手机IMEI号码的方法,包括使用 TelephonyManager 类的 getDeviceId() 方法,以及需要的权限设置。同时,讨论了IMEI号在设备唯一标识中的重要作用和隐私问题。
1594

被折叠的 条评论
为什么被折叠?



