Я хочу получить мобильные номера SIM1 и SIM2 программно в Android. Я пытался использовать Диспетчер телефонии и Диспетчер подписок. Но я всегда получаю нулевые значения. Я думал, что это связано с проблемой безопасности Google помешал этой функции. Есть ли альтернатива для этого вопроса.
К вашему сведению, я сохранил разрешение READ_PHONE_STATE в файле манифеста и также запрашиваю разрешение во время выполнения
Использование диспетчера телефонии :
TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String yourNumber = mTelephonyMgr.getLine1Number();
Использование диспетчера подписок
rrayList<String> Numbers = new ArrayList<String>();
SubscriptionManager mSubscriptionManager = SubscriptionManager.from(SimDetection.this);
subInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
if (subInfoList.size() > 1) {
isMultiSimEnabled = true;
}
for (SubscriptionInfo subscriptionInfo : subInfoList) {
Numbers.add(subscriptionInfo.getNumber());
}