Android 启用 wifi 网络 和 移动数据网络(GPRS)

是否启动 wifi 网络

/**
     * 是否启动 wifi 网络
     *  @param context context
     * @return isEnabled true/false 启用
     */
    @kotlin.jvm.JvmStatic
    fun enableWiFi(context: Context, isEnabled: Boolean) {
        val wm = context.getSystemService(Context.WIFI_SERVICE) as WifiManager
        wm.isWifiEnabled = isEnabled
    }

是否启动 移动网络

/**
     * 是否启动 移动网络
     *  @param context context
     * @return isEnabled true/false
     */
    @kotlin.jvm.JvmStatic
    fun enableGPRS(context: Context, isEnabled: Boolean) {
        val conMgr = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
        var conMgrClass: Class<*>? = null // ConnectivityManager类
        var conMgrField: Field? = null // ConnectivityManager类中的字段
        var iConMgr: Any? = null // IConnectivityManager类的引用
        var iConMgrClass: Class<*>? = null // IConnectivityManager类
        var setMobileDataEnabledMethod: Method? = null // setMobileDataEnabled方法
        try {
            // 取得ConnectivityManager类
            conMgrClass = Class.forName(conMgr.javaClass.name)
            // 取得ConnectivityManager类中的对象mService
            conMgrField = conMgrClass.getDeclaredField("mService")
            // 设置mService可访问
            conMgrField.isAccessible = true
            // 取得mService的实例化类IConnectivityManager
            iConMgr = conMgrField[conMgr]
            // 取得IConnectivityManager类
            iConMgrClass = Class.forName(iConMgr.javaClass.name)
            // 取得IConnectivityManager类中的setMobileDataEnabled(boolean)方法
            setMobileDataEnabledMethod = iConMgrClass.getDeclaredMethod("setMobileDataEnabled", java.lang.Boolean.TYPE)
            // 设置setMobileDataEnabled方法可访问
            setMobileDataEnabledMethod.isAccessible = true
            // 调用setMobileDataEnabled方法
            setMobileDataEnabledMethod.invoke(iConMgr, isEnabled)
        } catch (e: Exception) {
            e.printStackTrace()
        }
    }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值