diff --git a/android/src/main/java/com/babariviere/sms/telephony/TelephonyManager.java b/android/src/main/java/com/babariviere/sms/telephony/TelephonyManager.java index 9ea8736..07c1b3b 100644 --- a/android/src/main/java/com/babariviere/sms/telephony/TelephonyManager.java +++ b/android/src/main/java/com/babariviere/sms/telephony/TelephonyManager.java @@ -22,7 +22,16 @@ public int getSimCount() { } public String getSimId(int slotId) { - return this.getManager().getDeviceId(slotId); + String imei =""; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + imei = this.getManager().getImei(slotId); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ + imei = this.getManager().getDeviceId(slotId); + } + else{ + imei = this.getManager().getDeviceId(); + } + return imei; } @@ -41,11 +50,7 @@ public int getSimState(int slotId) { if (result != null) { return (int)result; } - } catch (NoSuchMethodException e) { - e.printStackTrace(); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { + } catch (NoSuchMethodException|IllegalAccessException|InvocationTargetException e) { e.printStackTrace(); }