android8.0热点打开流程,从Setting到framework

关键函数的调用流程如下:

热点的开启能否成功,主要由以下几个因素影响

(1)WifiStateMachine.java中的状态异常,而引起状态异常的原因有很多,可能是由于我们在修改的过程中,发生了一些逻辑错误,导致产生了未知的状态,还有可能是底层加载驱动的时候失败了,比如初次调用WifiNative.java的loaddriver()方法失败了,这些错误可以通过logcat | grep WifiStateMachine或者WifiNative,来检索确定。还有可能是WifiController.java里面的状态出现了错误,WifiController.java里面的状态虽然只有三个,但是也必须保证正确,因为它是WifiStateMachine之前必须调用的。

(2)热点开启失败,但是framework层看不到任何的错误,检索WifiService, WifiStateMachine, WifiController, SoftApManager都看不出明显错误,甚至连wificond也不能看出有什么错误信息,那么可以尝试查看wpa_supplicant有没有相关的错误输出,更具体一点的是hostapd的相关输出,这里如果有错误,那么主要的原因是驱动在初始化的时候失败了,而驱动初始化失败的主要原因是初始化参数错误,比如有些模块的iterfacename是固定的,跟其他模块不同,这就需要检查,wifi.cfg, load_wifi_driver.sh, unload_wifi_driver.sh这些脚本配置的参数是否正确,参考驱动移植文档中是否有相关的配置信息。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值