Android 如何获取两张卡的手机号
时间: 2023-10-09 15:16:15 浏览: 102
在 Android 设备中,获取两张卡的手机号需要使用 SubscriptionManager 类。以下是获取两张卡的手机号的代码示例:
```java
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
SubscriptionManager subscriptionManager = SubscriptionManager.from(this);
List<SubscriptionInfo> subscriptionInfoList = subscriptionManager.getActiveSubscriptionInfoList();
if (subscriptionInfoList != null && subscriptionInfoList.size() >= 2) {
SubscriptionInfo subscriptionInfo1 = subscriptionInfoList.get(0);
SubscriptionInfo subscriptionInfo2 = subscriptionInfoList.get(1);
String phoneNumber1 = telephonyManager.getLine1Number(subscriptionInfo1.getSubscriptionId());
String phoneNumber2 = telephonyManager.getLine1Number(subscriptionInfo2.getSubscriptionId());
Log.d("PhoneNumber1", phoneNumber1);
Log.d("PhoneNumber2", phoneNumber2);
}
```
需要注意的是,获取手机号需要 READ_PHONE_STATE 权限。此外,有些手机上可能无法获取到手机号。如果获取不到手机号,可以考虑让用户手动输入手机号或者使用其他的身份验证方式。