我制作了一个网络监控应用程序。在这里我已经成功地实现了所有的东西。我有双卡安卓手机。我知道如何获取运算符(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 之前没有关于多个 sims 的 API。您可以联系您的设备制造商并检查他们是否有 SDK 附加组件来访问多个 sims。
从 API 22 开始,您可以使用 SubscriptionManager 的方法 getActiveSubscriptionInfoList() 检查多个 SIM。有关 Android 文档的更多详细信息。
请看multiple sims .这里有一些关于multiple的讨论,希望这可以帮助您找到访问多个sim网络的方法。
关于android - 如何在双卡安卓手机中获取连接到互联网的运营商名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32993283/