我做了一个网络监视器应用程序。在这里,我已经成功实现了所有事情。我有双SIM卡的Android手机。我知道如何获得运算符(operator)的名字。但是我想将哪个SIM卡连接到互联网?我已使用此代码,只是向用户显示该设备通过移动数据连接。我想更具体地说明该设备当前正在使用哪个运营商的互联网。
public static String isInternetConnected (Context ctx) {
ConnectivityManager connectivityMgr = (ConnectivityManager) ctx
.getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo wifi = connectivityMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobile = connectivityMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
// Check if wifi or mobile network is available or not. If any of them is
// available or connected then it will return true, otherwise false;
if (wifi != null) {
if (wifi.isConnected()) {
return "wifi";
}
}
if (mobile != null) {
if (mobile.isConnected()) {
return "mobile";
}
}
return "none";
}
最佳答案
在API 22之前,没有关于多个SIM卡的API。您可以与设备制造商联系,并检查他们是否具有SDK插件来访问多个SIM卡。
从API 22开始,您可以使用SubscriptionManager的getActiveSubscriptionInfoList()方法检查多个SIM卡。有关Android文档的更多详细信息。
请看multiple sims。这里有一些关于多重SIM卡的讨论,希望这可以帮助您找到一种访问多重SIM卡网络的方法。
关于android - 如何获取在双SIM卡Android手机中连接到互联网的运营商的名称?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32993283/