@SuppressLint("WrongConstant") SubscriptionManager subscriptionManager = (SubscriptionManager) context.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
@SuppressLint("MissingPermission") List<SubscriptionInfo> subscriptionInfos = subscriptionManager.getActiveSubscriptionInfoList();
for (SubscriptionInfo subscriptionInfo : subscriptionInfos) {
int subscriptionId = subscriptionInfo.getSubscriptionId();
String carrierName = subscriptionInfo.getCarrierName().toString(); // 获取运营商名称
LOG.e("ttt", "SubscriptionId: " + subscriptionId + ", Carrier: " + carrierName);
}
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
for (SubscriptionInfo subscriptionInfo : subscriptionInfos) {
int subscriptionId = subscriptionInfo.getSubscriptionId();
// 通过 subscriptionId 获取特定SIM卡的 TelephonyManager
TelephonyManager simTelephonyManager = telephonyManager.createForSubscriptionId(subscriptionId);
@SuppressLint("MissingPermission")
List<CellInfo> cellInfoList = simTelephonyManager.getAllCellInfo();
LOG.e("ttt", "SIM 卡 " + subscriptionId + " 有 " + cellInfoList.size() + " 个 cell info");
for (CellInfo cellInfo : cellInfoList) {
if (cellInfo instanceof CellInfoLte) {
int dbm = ((CellInfoLte) cellInfo).getCellSignalStrength().getDbm();
int asu = ((CellInfoLte) cellInfo).getCellSignalStrength().getAsuLevel();
LOG.e("ttt", "SubscriptionId: " + subscriptionId + " dbm:" + dbm + " asu:" + asu);
}
}
}
Androidh获取手机号信号值并双卡时区分是哪张的信号值
于 2024-09-03 10:23:54 首次发布