我需要ACCESS_WIFI_STATE之类的东西,但是我可以通过3g使用dataTrafiic

我需要ACCESS_WIFI_STATE之类的东西,但是我可以通过3g使用dataTrafiic,第1张

概述在我的android上,我使用WIFI和3gdata流量如何打开和关闭3g数据,因为它不是无限的…我只需要一个类/功能代码行,即可向我显示TelephonyManager.DATA_TRAFIC为enable=false;解决方法:这取决于您正在运行的Android版本.我开发的小部件为Takealookatmycode.您需要的代码行是Te

在我的android上,我使用WIFI和3gdata流量如何打开和关闭3g数据,因为它不是无限的…我只需要一个类/功能代码行,即可向我显示TelephonyManager.DATA_TRAFIC为enable = false;

解决方法:

这取决于您正在运行的Android版本.我开发的小部件为Take a look at my code.

您需要的代码行是

TelephonyManager telephonyManager = (TelephonyManager) context            .getSystemService(Context.TELEPHONY_SERVICE);    if (telephonyManager.getDataState() == TelephonyManager.DATA_CONNECTED) {        isEnabled = true;    } else {        isEnabled = false;    }

“旧版”方法适用于使用TelephonyManager的2.2之前的androID版本.

// 2.2+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 iConnectivityManagerFIEld = conmanClass.getDeclaredFIEld("mService");    iConnectivityManagerFIEld.setAccessible(true);    final Object iConnectivityManager = iConnectivityManagerFIEld.get(conman);    final Class iConnectivityManagerClass = Class.forname(iConnectivityManager.getClass().getname());    final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);    setMobileDataEnabledMethod.setAccessible(true);    setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled);}public static boolean isMobileDataConnected(Context context) {    try {        final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        final Class conmanClass = Class.forname(conman.getClass().getname());        final FIEld iConnectivityManagerFIEld = conmanClass.getDeclaredFIEld("mService");        iConnectivityManagerFIEld.setAccessible(true);        final Object iConnectivityManager = iConnectivityManagerFIEld.get(conman);        final Class iConnectivityManagerClass = Class.forname(iConnectivityManager.getClass().getname());        final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("getMobileDataEnabled");        setMobileDataEnabledMethod.setAccessible(true);        return Boolean.valueOf(setMobileDataEnabledMethod.invoke(iConnectivityManager).toString());    } catch (Exception e) {        Log.e("NetSwitcher", e.toString());    }    return false;}// pre 2.2public static voID setMobileDataEnabledLegacy(Context context) {    boolean isEnabled = false;    Method dataConnSwitchmethod;    Class telephonyManagerClass;    Object ITelephonyStub;    Class ITelephonyClass;    TelephonyManager telephonyManager = (TelephonyManager) context            .getSystemService(Context.TELEPHONY_SERVICE);    if (telephonyManager.getDataState() == TelephonyManager.DATA_CONNECTED) {        isEnabled = true;    } else {        isEnabled = false;    }    try {        telephonyManagerClass = Class.forname(telephonyManager.getClass().getname());        Method getITelephonyMethod = telephonyManagerClass.getDeclaredMethod("getITelephony");        getITelephonyMethod.setAccessible(true);        ITelephonyStub = getITelephonyMethod.invoke(telephonyManager);        ITelephonyClass = Class.forname(ITelephonyStub.getClass().getname());        if (isEnabled) {            dataConnSwitchmethod = ITelephonyClass                    .getDeclaredMethod("DisabledataConnectivity");        } else {            dataConnSwitchmethod = ITelephonyClass                    .getDeclaredMethod("enableDataConnectivity");        }        dataConnSwitchmethod.setAccessible(true);        dataConnSwitchmethod.invoke(ITelephonyStub);    } catch (Exception e) {        Log.e("NetSwitcher", e.toString());    }}
总结

以上是内存溢出为你收集整理的我需要ACCESS_WIFI_STATE之类的东西,但是我可以通过3g使用dataTrafiic全部内容,希望文章能够帮你解决我需要ACCESS_WIFI_STATE之类的东西,但是我可以通过3g使用dataTrafiic所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1084742.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存