【问题标题】:How can I turn off/on 3G/4G/Data programmatically on Android 5.0?如何在 Android 5.0 上以编程方式关闭/打开 3G/4G/数据?
【发布时间】:2015-07-13 15:45:58
【问题描述】:

为什么这段代码在 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);
	}

【问题讨论】:

    标签: android 3g 4g


    【解决方案1】:

    Google 已经取消了他们的 API 以务实地打开/关闭数据。 您可以查看link 上提交的问题。

    如果您想了解更多详细信息,请在link 上详细回答,那里有详细讨论

    如果你觉得这有帮助,请接受这个作为答案

    【讨论】:

      【解决方案2】:

      在棒棒糖之前使用反射是可能的。已经不可能了。

      【讨论】:

      • 现在该怎么办?请帮助我,因为需要在 android 5.0 中打开数据。
      • 朋友,你无能为力。他们现在只允许在系统应用中这样做。
      • 如果设备被root了怎么办?
      • 如果您的设备已植根,您可以运行 linux 脚本。系统应用程序是预先安装在设备上的应用程序。无法卸载的。
      猜你喜欢
      • 2017-06-14
      • 2012-09-14
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      相关资源
      最近更新 更多