一、Android打开WIFI

        有一段时间没有写博客了,写这往篇文章前刚从一家外包公司离职,在这个公司实在太忙没时间学些项目之前的东西,说到离职很多人在离开一家公司前都会吐槽这个公司如何不好,我想其实也没必要,毕竟我们在这个公司也学到了不少东西,我不说这个公司哪里不好,我只想说我所追求的它已经给不了我了。哈哈,,扯远了,我们回到正题。


        在这个公司做过一个使用手机/PC与盒子wifi/ap连接进行汽车诊断的项目,这系列文章就是记录下关于wifi/ap的一点使用上的问题和各版本wifi、ap使用上的区别。


1、开启手机WIFI

由于安卓SDK是没有提供API给开发进开启WIFI的,但是通过查看源码我们还是可以找到开启WIFI的方法的, 在android.net.wifi.WifiManager包下就有关于wifi设置的一些方法,不过有些方法是@hide隐式的,而开启wifi的方法setWifiApEnabled正是隐式的,对于隐式的api我们是无法直接骑过WifiManager调用的,所以我们这里就要用到反射了。代码如下:

//1、需要申请的权限
android.permission.ACCESS_WIFI_STATE 
android.permission.CHANGE_WIFI_STATE 
android.permission.ACCESS_NETWORK_STATE
android.permission.CHANGE_NETWORK_STATE

2、获取WifiManager
wifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);  

3、开启、关闭wifi
if (wifiManager.isWifiEnabled()) {  
   wifiManager.setWifiEnabled(false);  
} else {  
   wifiManager.setWifiEnabled(true);  
}

这里要注意两点:

1操作wifi时有些手机是需要有定位权限的,如果你的手机无法打开wifi或者无法获取到wifi列表就要加上定位权限了,除了定位权限外有些手机可能还需要打开GPS

2、在获取WifiManager的时候最好是使用applicationContext,因为WifiManager也是系统服务,生命周期比我们的activity长,如果用activity的context就有可能会造成内存泄漏。

好了打开wifi就几行代码,先说到这,下篇文章会介绍下如何获取wifi列表并连接wifi,直达飞机:《Android获取wifi列表并连接wifi》

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值