Android 8.0 学习(24)---Android8.0 WiFi热点适配
Android8.0 WiFi热点适配
在Android8.0上用以前的方式调试WiFi热点的时候发现无法正常开启热点,于是查了下,发现之前的热点打开接口已经废弃。原先的接口WifiManager.java中setWifiApEnabled方法用来打开WiFi热点已经用不了了。
网上查是从Android7.1以后接口开始变化的,但我查Google给的源码时发现7.1.1-7.1.2版本都是没有变动,还是老的接口,从Android8.0才开始发生变化,比较奇怪,这个有兴趣的童鞋在去考究一下。
变动如下:
frameworks/base/wifi/java/android/net/wifi/WifiManager.java
推荐我们使用:
方法一:
ConnectivityManager#startTethering(int, boolean,
ConnectivityManager#OnStartTetheringCallback)}
方法二:WifiManager#startLocalOnlyHotspot(LocalOnlyHotspotCallback)}.
此种接口应用层需要怎么用,先别着急,我们去查下原生setting的用法。
总结一下思路:
1、配置WifiManager.setWifiApConfiguration(mWifiConfig)
里面的参数,热点和WiFi 通常的配置一样,只要配置WifiApConfiguration对象,就可以配置我们想要的WiFi热点的名称、密码及加密方式;
2、通过ConnectivityManager的startTethering方法来启动热点,
注意参数的传递,第三个参数需要实现ConnectivityManager.OnStartTetheringCallback
的本地回调,可以用来更新UI;
Cm.startTethering(TETHERING_WIFI, true, mStartTetheringCallback, mHandler);
- 1
3、特别注意,WiFi热点重新配置生效之前一定要做下
mCm.stopTethering(TETHERING_WIFI);的动作,否则热点会打开异常;
而且热点配置完密码重新生效有延时,需要关闭后延时一会重新打开才会正常;
4、配置AndroidManinfest.xml权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" />
- 最初我只配了第一个,没有加后面一个,运行时一直报错
App not allowed to read or update stored WiFi AP config
追了一下发现才需要添加OVERRIDE_WIFI_CONFIG权限,但之前的接口没有说明这条,比较坑。
添加完OVERRIDE_WIFI_CONFIG权限后,热点打开正常。
Android 8.0 学习(24)---Android8.0 WiFi热点适配相关推荐
- Android抓包方法之Win7笔记本Wifi热点+WireShark工具
Android抓包方法 之Win7笔记本Wifi热点+WireShark工具 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等. 第 ...
- Android开发——自动连接指定SSID的wifi热点(不加密/加密)
最近在做一个项目,其中涉及到一块"自动连接已存在的wifi热点"的功能,在网上查阅了大量资料,五花八门,但其中一些说的很简单,即不能实现傻瓜式的拿来就用,有些说的很详细,但其中不乏 ...
- Android每周一个学习计划——RxJava2 0的学习使用
序言:蜗壳已经退役一年多了,但是还是抵不住蜗壳在NBA界的影响力,最近NBA流行向"蜗壳挑战",事情起源于蜗壳给IT和北境之王设定了新赛季的挑战,然后众多球星也纷纷向蜗壳讨要挑战. ...
- android 8.0后台定位,Android8.0适配前台定位服务service的示例代码
从Android 8.0开始系统为实现降低功耗,对后台应用获取用户位置信息频率进行了限制,每小时只允许更新几次位置信息,详细信息请参考官方说明.按照官方指引,如果要提高位置更新频率,需要后台应用提供一 ...
- Android 8 禁止 谷歌,谷歌Android8.0增降级保护功能:升级后不能降级
[PConline资讯]一直以来,每当新版iOS系统发布,就意味着苹果即将关闭上一个iOS版本的验证通道,而升级到新版iOS系统的用户将无法降回原来的系统.现在, 谷歌Android系统似乎也要学苹果 ...
- 一加连续点Android版本号,一加5T Android8.0全国首刷/附加教程和ROM
一加5T作为全面屏大军的一员,总算在11月和我们见面了,果核也在第一时间下单买到了一加5T,到手了第一件事就是刷机. 其实果核最早就有一台一加3,在出手没多久就看到了一加3刷安卓8.0的消息,当时那个 ...
- TensorFlow2.0学习笔记2-tf2.0两种方式搭建神经网络
目录 一,TensorFlow2.0搭建神经网络八股 1)import [引入相关模块] 2)train,test [告知喂入网络的训练集测试集以及相应的标签] 3)model=tf.keras. ...
- Android Support Library 24.2.0 正式发布
原文出处:http://blog.csdn.net/wxy318/article/details/52463998 近日,Google正式发布更新了Android Support Library Re ...
- Android8.0及以上系统 WiFi热点 版本适配
代码地址如下: http://www.demodashi.com/demo/13907.html ###一.准备工作 开发环境: jdk1.8 AS(3.0.1) 运行环境: 华为V10(And ...
最新文章
- 【风控流程】大数据风控代码逻辑
- 2019年最后的一天_2019最后一天的说说 2019最后一条朋友圈再见2019
- WCF项目的架构设计
- 如何理解Library List
- Android应用的基本组件介绍
- [android]-xml解析示便-SAX
- Oracle数据库常用undo查询思路
- vue设置金额和时间格式(团购倒计时下次一定)
- php编程输出心形图案_如何用C语言先输出一段文字如何再输出心形图案?
- linux下命令行操作快捷键及技巧
- python和java哪个好-现在Java和Python哪个前景更好?
- 回顾Vue计算属性VS其他语法有感
- android进阶(三)数据存储之Internal Storage
- 【更改google chrome浏览器路径的方法】
- 首届CCF计算机职业资格认证考试题解(C++)
- 5个适合提升自己的自学网站,每一个都很强大, 适合职场人自我提升的学习网站,利用起来,离加薪更近一步
- python average函数详解_Python内置函数详解——总结篇
- python柱状图纵轴刻度_Python数据分析:Matplotlib
- 台式电脑 硬件选购 扫盲普及贴
- 壹 2.2 整数表示