gpt4 book ai didi

java - 检查移动数据是否来自 sim one 或 sim 2 android

转载 作者:行者123 更新时间:2023-11-29 19:31:32 26 4
gpt4 key购买 nike

有没有办法以编程方式检查 Android 中的 sim 1 或 sim 2 的移动数据是否处于 Activity 状态?

我还想获得数据处于 Activity 状态的运营商提供商。

情商:sim 1 : 运营商 1Sim 2 : 载体 2

如果 sim 2 上的数据处于 Activity 状态它应该返回承运人 2 的名称。

最佳答案

我的方式(Android >= 22)

int getDefaultDataSubscriptionId(final SubscriptionManager subscriptionManager)  {
if (android.os.Build.VERSION.SDK_INT >= 24) {
int nDataSubscriptionId = SubscriptionManager.getDefaultDataSubscriptionId();

if (nDataSubscriptionId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
return (nDataSubscriptionId);
}
}

try {
Class<?> subscriptionClass = Class.forName(subscriptionManager.getClass().getName());
try {
Method getDefaultDataSubscriptionId = subscriptionClass.getMethod("getDefaultDataSubId");

try {
return ((int) getDefaultDataSubscriptionId.invoke(subscriptionManager));
}
catch (IllegalAccessException e1) {
e1.printStackTrace();
} catch (InvocationTargetException e1) {
e1.printStackTrace();
}
} catch (NoSuchMethodException e1) {
e1.printStackTrace();
}
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}

return (SubscriptionManager.INVALID_SUBSCRIPTION_ID);
}

@TargetApi(22)
public String getUIText22(final TelephonyManager telephonyManager) {
SubscriptionManager subscriptionManager = (SubscriptionManager) getContext().getApplicationContext().getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);

int nDataSubscriptionId = getDefaultDataSubscriptionId(subscriptionManager);

if (nDataSubscriptionId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
SubscriptionInfo si = subscriptionManager.getActiveSubscriptionInfo(nDataSubscriptionId);

if (si != null) {
return (si.getCarrierName().toString());
}
}
}

关于java - 检查移动数据是否来自 sim one 或 sim 2 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39823886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com