我只是一个Java初学者,正在为我的android手机开发这个应用程序。
我要找的是在wifi打开时获得移动网络自动连接的状态。
我已经检查了wifi是否启用,我可以检查3g是否开启,但3g被禁用,因为wifi是连接的"主人",接管/禁用3g。我的应用程序可以关闭wifi。但在关闭wifi后,3g就出现了。我想要的状态,如果自动连接到3g是设置在设备或其他东西。在那之后,我想关闭3g连接,但那将是下一章。此状态可以在设置无线和网络->移动网络[复选框]
中找到。我在这里和谷歌上搜索了很多,但没有运气。也许可以在这里问一下…
更新:现在看看系统偏好。查看status是否存储在那里
找到以上问题的解决方案:
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;
}
}