一、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_STATE2、获取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》
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!