我正在使用TelephonyManager,並且我可以獲取SIM1的SubscriberID(IMSI),但無法獲得SIM2的SIM卡。不過,我能夠爲兩個SIM插槽獲得IMEI號碼,但仍然無法獲得IMSI作爲第二個SIM卡。有什麼方法可以獲得這些信息嗎?如何獲得Android手機中第二個SIM卡的IMSI號碼
1
A
回答
0
1
記住這是哈克的方式獲得的用戶ID,等都可能是它不會工作在所有設備上
將工作Android 5.1.1及以上版本並且需要android.permission.READ_PHONE_STATE許可
(記得索要用戶約android.permission.READ_PHONE_STATE許可,不得以上述棉花糖 的Android版本,因爲它被標記爲危險)
public String getSim1IMSI() {
String imsi = null;
TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
try {
Method getSubId = TelephonyManager.class.getMethod("getSubscriberId", int.class);
SubscriptionManager sm = (SubscriptionManager) getSystemService(TELEPHONY_SUBSCRIPTION_SERVICE);
imsi = (String) getSubId.invoke(tm, sm.getActiveSubscriptionInfoForSimSlotIndex(0).getSubscriptionId()); // Sim slot 1 IMSI
return imsi;
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
return imsi;
}
public String getSim2IMSI() {
String imsi = null;
TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
try {
Method getSubId = TelephonyManager.class.getMethod("getSubscriberId", int.class);
SubscriptionManager sm = (SubscriptionManager) getSystemService(TELEPHONY_SUBSCRIPTION_SERVICE);
imsi = (String) getSubId.invoke(tm, sm.getActiveSubscriptionInfoForSimSlotIndex(1).getSubscriptionId()); // Sim slot 2 IMSI
return imsi;
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
return imsi;
}
+0
作爲安卓7.0的有一個本地方法來做到這一點:'tm.createForSubscriptionId(sm.getActiveSubscriptionInfoForSimSlotIndex(1).getSubscriptionId())。getSubscriberId()' – davkutalek
相關問題
- 1. 如何從雙SIM卡手機中獲得兩個IMEI號碼?
- 2. 如何獲得雙SIM卡手機號碼?
- 3. 如果我的android手機有兩張SIM卡,如何獲取手機號碼?
- 4. 如何獲得Android手機中的SIM卡帳戶餘額
- 5. 獲取SimOperatorName的雙SIM卡android手機
- 6. 撥號使用第二個SIM卡(j2me)
- 7. 從android手機獲取IMSI?
- 8. 在Android中使用Airtel提供商SIM卡時無法獲得SIM卡號碼?
- 9. 檢測雙SIM卡Android手機中兩張SIM卡的狀態
- 10. 如何通過僅使用SIM卡序列號獲取手機號碼
- 11. 如何在雙SIM卡手機android中獲取SIMOperator?
- 12. Android:如何在Android中獲取兩張SIM卡的SIM卡ID?
- 13. 如何獲得的卡貼手機號碼
- 14. Android:在雙SIM手機getSimCountryIso()返回哪個SIM卡?
- 15. 如何設置鈴聲第二SIM卡
- 16. 如何知道Android手機中的SIM卡類型(2G,3G)
- 17. 具有相同IMSI的兩張SIM卡
- 18. iPhone SIM卡號碼
- 19. 每個手機的IMSI號碼是否唯一
- 20. Android:如何在雙卡手機中發送特定SIM卡的短信?
- 21. 如何獲取GSM手機中與SIM相關的電話號碼?
- 22. SubscriptionManager讀取雙SIM卡設備的IMSI ruuning Android 5.1+
- 23. 如何在android代碼中獲取手機的電話號碼?
- 24. 如何在Android中獲取雙SIM卡序列號
- 25. 如何用黑莓編程實現黑莓手機中的IMSI號碼
- 26. 從雙SIM卡手機發送短信到另一張SIM卡
- 27. 檢測SIM卡變更或使用官方iOS SDK找到SIM卡的IMSI?
- 28. 如何獲取當前的SIM卡號碼
- 29. 如何獲得使用AT調制解調器的SIM卡號碼(ICCID)命令
- 30. 獲取機器人SIM號碼編程
這是IMEI不是IMSI – davkutalek