如何从双 SIM 卡设备获取两个电话号码?

Jul*_*kar 4 android

我知道如何获取用户的电话号码,但假设用户的电话是双 SIM 卡。有没有办法同时获得两个电话号码?目前我只得到有效的电话号码。

man*_*shg 8

如果电话号码确实存储在 SIM 卡中,那么您可以使用 subscriptionmanager API ( https://developer.android.com/reference/android/telephony/SubscriptionManager.html ) 获取每个订阅的详细信息,即每个 SIM 的详细信息卡片。

你可以打电话

请注意,要使其正常工作,SIM 卡中应包含电话号码。

请注意此 API 仅从 API 级别 22 开始支持

添加示例代码:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
            SubscriptionManager subscriptionManager = SubscriptionManager.from(getApplicationContext());
            List<SubscriptionInfo> subsInfoList = subscriptionManager.getActiveSubscriptionInfoList();

            Log.d("Test", "Current list = " + subsInfoList);

            for (SubscriptionInfo subscriptionInfo : subsInfoList) {

                String number = subscriptionInfo.getNumber();

                Log.d("Test", " Number is  " + number);
            }
        }
Run Code Online (Sandbox Code Playgroud)

  • subscriptionInfo.getNumber() 返回空值。 (6认同)