如何从 Android/iOS 应用程序检索附近 WiFi 网络(不是本地设备)的 BSSID/mac 地址和强度?此应用程序是使用 Titanium 构建的。 Titanium.Platform 为设备提供 macaddress,而不是外部网络。
如果使用当前 API 无法做到这一点,是否有人知道/有可以解决此问题的模块?
最佳答案
您无法通过 TI 平台获取 BSSID。您可以编写一个可以读取它的模块。它将是这样的:
NSArray *ifs = (id)CNCopySupportedInterfaces();
NSLog(@"%s: Supported interfaces: %@", __func__, ifs);
id info = nil;
for (NSString *ifnam in ifs) {
info = (id)CNCopyCurrentNetworkInfo((CFStringRef)ifnam);
NSLog(@"%s: %@ => %@", __func__, ifnam, info);
BSSID=[info valueForKey:@"BSSID"];
if (info && [info count]) {
break;
}
[info release];
}
[ifs release];
return BSSID;
但是,请注意,如果所有 AP 上的 SSID 都相同,则从 IOS 5 开始有一个错误会阻止您读取 BSSID。它不会正确刷新 BSSID。我仍在等待修复或替代解决方案,所以如果有人有什么东西,我将不胜感激!
关于android - 附近网络的 BSSID w/Titanium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7439969/