附近网络的BSSID与钛

时间:2011-09-16 03:54:55

标签: android ios titanium mac-address bssid

如何从Android / iOS应用程序中检索附近WiFi网络(不是本地设备)的BSSID / mac地址和强度?此应用程序使用Titanium构建。 Titanium.Platform为设备提供macaddress,而不是外部网络。

如果使用当前的API无法做到这一点,有没有人知道/有一个模块可以解决这个问题?

2 个答案:

答案 0 :(得分:2)

您无法通过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。我还在等待修复或替代解决方案,所以如果有人有什么我会很感激的!

答案 1 :(得分:0)

您可以使用Titanium.Platform获取mac地址信息。