检查哪张SIM卡上有移动数据

时间:2016-12-15 16:24:50

标签: android networking android-networking telephony

我需要检查移动数据是否已开启。这里有一些重要的问题告诉我们如何做到这一点,但没有一个问题涉及Dual sim设备的问题。

public Boolean isMobileDataEnabled(){
    Object connectivityService = getSystemService(CONNECTIVITY_SERVICE);
    ConnectivityManager cm = (ConnectivityManager) connectivityService;

    try {
        Class<?> c = Class.forName(cm.getClass().getName());
        Method m = c.getDeclaredMethod("getMobileDataEnabled");
        m.setAccessible(true);
        return (Boolean)m.invoke(cm);
    } catch (Exception e) {
        if(e instanceof NoSuchMethodException){

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
            {
                boolean isDataEnabled = Settings.Global.getInt(this.getContentResolver(), "mobile_data", 0) == 1;
                return isDataEnabled;
            }
        }
        e.printStackTrace();
        return false;
    }
}

问题是,是否有任何方法可以发现移动数据处于活动状态的SIM卡?

我尝试使用电话管理器进行检查,但它并没有解决任何问题。

编辑:我发现了订阅管理员,但这只是来自api 22。低版本怎么样?

0 个答案:

没有答案