是否可以通过编程方式检索Android中双SIM卡的电话号码。

时间:2017-04-07 10:00:36

标签: android telephonymanager sim-card

我确实参考过之前建议的answers之一并对其进行了编辑,因为在该答案中没有检查过SIM索引。这是我用过的东西。

SubscriptionManager subscriptionManager = SubscriptionManager.from(getApplicationContext());
        List<SubscriptionInfo> subsInfoList = subscriptionManager.getActiveSubscriptionInfoList();



        for (SubscriptionInfo subscriptionInfo : subsInfoList) {
            Log.d("Test", "Current list = " + subscriptionInfo);
            Integer index=subscriptionInfo.getSimSlotIndex();
            if(index==1)
            {
                Log.d("Test", " Number is  " + subscriptionInfo.getNumber());
            }
            else
                Log.d("Test", " Number is  " + subscriptionInfo.getNumber());
        }

但是我无法获得插槽1中使用的sim卡号,只收到索引0中的sim卡号。

这里是logcat

Current list = {id=2, iccId=89918620400015502403 simSlotIndex=0 displayName=Jio 4G 01 carrierName=Jio 4G nameSource=0 iconTint=-16746133 dataRoaming=1 iconBitmap=android.graphics.Bitmap@6443203 mcc 405 mnc 862}
D/Test:  Number is  1234567//It's a made up number. I did get my actual number
D/Test: Current list = {id=3, iccId=89919509129941235317 simSlotIndex=1 displayName=airtel 02 carrierName=airtel nameSource=0 iconTint=-13408298 dataRoaming=1 iconBitmap=android.graphics.Bitmap@3986580 mcc 404 mnc 95}
D/Test:  Number is 

如在logcat中看到的那样,我无法获得slotindex 1中的sim的数量。可以检索第二个sim的许多其他细节,包括displayname,carriername等。但subscriptionInfo.getNumber()仅适用于一个sim。

0 个答案:

没有答案
相关问题