正在 Android Things returns 空列表上扫描 Wifi 网络
Scanning for Wifi networks on Android Things returns empty list
我 运行 Android Raspberry Pi 3 上有触摸屏。
我正在尝试使用 WifiManager class 在我的应用程序中创建自己的 GUI 以连接到可用的 wifi 网络。但是,getScanResults()
函数总是 returns 一个空列表,即使您可以看到在 IoT Launcher 中扫描的 wifi 网络也是如此。
我从文档中知道 (https://developer.android.com/reference/android/net/wifi/WifiManager.html#getScanResults())
If there is a remote exception (e.g., either a communication problem with the system service or an exception within the framework) an empty list will be returned.
但是除了这个扫描功能之外,一切似乎都运行良好。如何成功扫描网络?
我的代码:
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()
您可以在以下内容中找到更多信息post:https://www.nplix.com/2017/03/12/scan-list-wifi-network-android/
我 运行 Android Raspberry Pi 3 上有触摸屏。
我正在尝试使用 WifiManager class 在我的应用程序中创建自己的 GUI 以连接到可用的 wifi 网络。但是,getScanResults()
函数总是 returns 一个空列表,即使您可以看到在 IoT Launcher 中扫描的 wifi 网络也是如此。
我从文档中知道 (https://developer.android.com/reference/android/net/wifi/WifiManager.html#getScanResults())
If there is a remote exception (e.g., either a communication problem with the system service or an exception within the framework) an empty list will be returned.
但是除了这个扫描功能之外,一切似乎都运行良好。如何成功扫描网络?
我的代码:
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()
您可以在以下内容中找到更多信息post:https://www.nplix.com/2017/03/12/scan-list-wifi-network-android/