繁体   English   中英

打开/关闭android 4.4或更高版本的3g

[英]turn 3g on/off android 4.4 or above

我的SDK已升级,并且无法在Eclipse上使用代码启用或禁用3G。

此代码不再起作用。

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 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);
}

应用程序不应自行打开或关闭3g / 4g / GPS。 有一些小故障/解决方法允许这样做,但由于它们已被修复,因此不可靠。

你应该做的,是通知他们的3G状态需要改变,也许有AlertDialog,并给他们以导航到手机设置页面的选项,用户, 通过一个意图 ,在那里他们可以手动启用3G网络。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM