android - 如何在 Android 5.0 上以编程方式关闭/打开 3G/4G/数据?

标签 android 3g 4g

为什么这段代码不能在 android 5.0 上运行?

我在 android 4.3 上测试,工作但在 android 5.0 上不工作。

请帮助我。

private void setMobileDataEnabled(Context context, boolean enabled) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException, NoSuchMethodException, InvocationTargetException {
	    final ConnectivityManager conman = (ConnectivityManager)  context.getSystemService(Context.CONNECTIVITY_SERVICE);
	    final Class<?> conmanClass = Class.forName(conman.getClass().getName());
	    final java.lang.reflect.Field connectivityManagerField = conmanClass.getDeclaredField("mService");
	    connectivityManagerField.setAccessible(true);
	    final Object connectivityManager = connectivityManagerField.get(conman);
	    final Class<?> connectivityManagerClass =  Class.forName(connectivityManager.getClass().getName());
	    final Method setMobileDataEnabledMethod = connectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
	    setMobileDataEnabledMethod.setAccessible(true);

	    setMobileDataEnabledMethod.invoke(connectivityManager, enabled);
	}

最佳答案

Google 已实用化地取消了他们的数据开/关 API。 您可以查看在 link 上提交的问题.

如果您想了解更多详细信息,请在 link 上找到详细答案哪里有详细的讨论

如果你觉得这有帮助,请采纳它作为答案

关于android - 如何在 Android 5.0 上以编程方式关闭/打开 3G/4G/数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31387789/

相关文章:

android - 异常读取 Wifi/3G 状态

ios - 将 iOS 7 常量映射到 2G、3G、4G、LTE 等

ffmpeg - 树莓派 ffmpeg 实时摄像机流超过 4g

android - 为什么 Android 会在我的 SpinnerAdapter 中回收错误的 View 类型?

Android:通过手指触摸屏幕来测量/检测覆盖区域(不仅是触摸坐标)

java - 调用自写类时出现NullPointerException

ios - 在 iOS 上连接到 WiFi 时通过 3G 发送数据

iphone - 在iPhone中使用3G来电的Pjsip在UDP中时没有音频

android - CollapsingToolbarLayout 内的 ImageView 在某些设备上不可见