我正在使用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. Android:如何獲取雙SIM卡手機中的SIM卡的SIM卡號碼
- 2. Android獲取手機SIM卡號碼
- 3. 如何從雙SIM卡手機中獲得兩個IMEI號碼?
- 4. Android:如何獲得SIM卡手機號碼
- 5. 如何獲得雙SIM卡手機號碼?
- 6. 如果我的android手機有兩張SIM卡,如何獲取手機號碼?
- 7. 如何在Android中檢索SIM卡IMSI?
- 8. 如何獲得Android手機中的SIM卡帳戶餘額
- 9. 如何在Android中獲得雙SIM卡IMEI號碼
- 10. 比較SIM卡的IMSI在開機
- 11. 獲取SimOperatorName的雙SIM卡android手機
- 12. 從android手機獲取IMSI?
- 13. 撥號使用第二個SIM卡(j2me)
- 14. 在Android中使用Airtel提供商SIM卡時無法獲得SIM卡號碼?
- 15. 檢測雙SIM卡Android手機中兩張SIM卡的狀態
- 16. 如何從iPhone獲得SIM卡號
- 17. 如何通過僅使用SIM卡序列號獲取手機號碼
- 18. 如何在雙SIM卡手機android中獲取SIMOperator?
- 19. 爲什麼我無法從丹麥獲得SIM卡的手機號碼?
- 20. 如何獲取IMG號碼,SIM卡號碼,PhoneGap Mobile應用程序中的手機號碼?
- 21. sim序列號與imsi
- 22. 如何在Android中獲取當前的SIM卡號碼?
- 23. Android:如何在Android中獲取兩張SIM卡的SIM卡ID?
- 24. 在Windows Phone應用程序中獲取SIM MSISDN和IMSI號碼
- 25. 如何獲得的卡貼手機號碼
- 26. 如何從雙SIM卡手機Android獲取運營商名稱?
- 27. Android:在雙SIM手機getSimCountryIso()返回哪個SIM卡?
- 28. 如何設置鈴聲第二SIM卡
- 29. 爲得到我的SIM卡號碼
- 30. 來自第二個SIM卡的電話
這是IMEI不是IMSI – davkutalek