【发布时间】:2016-09-17 10:23:43
【问题描述】:
我正在尝试构建一个连接到餐厅网络并获取菜单和定价 (Wifi) 的 Android 应用程序。但是当我打开应用程序时,我想列出在此应用程序中注册的 Wifi 网络,而不是所有可用网络。有没有办法建立这个?提前致谢。
【问题讨论】:
标签: android android-wifi android-networking
我正在尝试构建一个连接到餐厅网络并获取菜单和定价 (Wifi) 的 Android 应用程序。但是当我打开应用程序时,我想列出在此应用程序中注册的 Wifi 网络,而不是所有可用网络。有没有办法建立这个?提前致谢。
【问题讨论】:
标签: android android-wifi android-networking
是的,您可以扫描可用的 WiFi 网络并仅向您的用户显示这些 WiFi 网络的选择。在 ListView 中显示这些网络,当用户点击一个项目时,您将与之连接。
您在onReceive 中收到可用网络,在这里您可以通过ScanResult 类的任何属性进行选择:
private class WifiScanReceiver extends BroadcastReceiver {
public void onReceive(Context c, Intent intent) {
List<ScanResult> wifiScanList = wifi.getScanResults();
for (ScanResult wifi : wifiScanList) {
// add wifi here to your own list depending on any property of ScanResult, e.g.:
if (wifi.SSID.contains("Restaurant")) {
...
}
}
}
}
【讨论】:
ScanResult 类的任何属性上指定条件。