获取“移动网络”的状态,wifi下降后自动连接3g的状态

时间:2011-11-30 22:04:43

标签: java android status 3g

我只是Java的初学者,为我的Android手机搞清楚这个应用程序。

我正在寻找的是在WiFi开启时获取移动网络自动连接的状态。

我已经检查了wifi是否启用了,我可以检查3g是否打开,但3g被禁用,因为wifi是连接的'主'并接管/禁用3g。 我的应用程序有可能关闭wifi。但在关闭wifi后,3g出现了。如果在设备中设置了3g的自动连接,我想要状态。之后我想关闭3g连接,但那将是下一章。可以在设置无线和网络中找到此状态 - >移动网络[复选框]

在这里和谷歌进行了大量搜索,但没有运气。也许在这里问...

更新: 现在查看系统首选项。找出状态是否存储在那里。

1 个答案:

答案 0 :(得分:1)

找到上述问题的解决方案:

 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) {
        e.printStackTrace();
        return null;
    }
}