我做了一个网络监视器应用程序。在这里,我已经成功实现了所有事情。我有双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/

10-12 06:02