我只是Java的初学者,为我的Android手机搞清楚这个应用程序。
我正在寻找的是在WiFi开启时获取移动网络自动连接的状态。
我已经检查了wifi是否启用了,我可以检查3g是否打开,但3g被禁用,因为wifi是连接的'主'并接管/禁用3g。 我的应用程序有可能关闭wifi。但在关闭wifi后,3g出现了。如果在设备中设置了3g的自动连接,我想要状态。之后我想关闭3g连接,但那将是下一章。可以在设置无线和网络中找到此状态 - >移动网络[复选框]
在这里和谷歌进行了大量搜索,但没有运气。也许在这里问...
更新: 现在查看系统首选项。找出状态是否存储在那里。
答案 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;
}
}