一万年来谁著史,三千里外欲封侯。这篇文章主要讲述在Android Things上扫描Wifi网络会返回空列表相关的知识,希望能为你提供帮助。
我在附带触摸屏的Raspberry Pi 3上运行android Things。
我正在尝试在我的应用程序中创建自己的GUI,以使用WifiManager类连接到可用的wifi网络。但是,getScanResults()
函数始终返回一个空列表,即使您可以在IoT启动器中看到扫描的无线网络。
我从文档中知道(https://developer.android.com/reference/android/net/wifi/WifiManager.html#getScanResults())
如果存在远程异常(例如,系统服务的通信问题或框架内的异常),则返回空列表。但是除了这个扫描功能外,一切似乎都运行良好。如何成功扫描网络?
【在Android Things上扫描Wifi网络会返回空列表】我的代码:
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
List<
ScanResult>
scanResults = wifiManager.getScanResults();
Log.v(this.class.getSimpleName(), "scanResults.size() = " + scanResults.size());
//Prints "0"
表现:
<
manifest ...>
<
uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<
uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<
uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
...
<
/manifest>
谢谢!
答案Android上的Wifi扫描是一种异步机制。
- 您首先必须注册特定的意图:SCAN_RESULTS_AVAILABLE_ACTION。
- 然后使用:startScan()开始扫描
- 在广播接收器的onReceive()方法中,您可以调用getScanResults()
推荐阅读
- MediaPlayer无法在Android Things Raspberry Pi 3上运行
- 如何在Raspberry Pi 3模块上启用I2C(与Android Things一起使用作为操作系统)
- 使用generator-fountain-webapp的Yoeman出错
- 找不到模块'wrappy'
- 如何在symfony中创建Twig扩展名以及如何使用Twig创建查询
- 如何在Windows中创建symfony(2或3)项目
- 如何使用TWIG Standalone和Symfony 2在继承的视图中呈现父块的内容
- 什么是以及如何在Symfony2中创建数据转换器
- 使用C#进行语音合成,让你的应用说话