全部服务产品
开发者频道
定价
登录
移动热点识别
下载开发文档

移动热点判别功能指的是,可以通过接口调用,判别当前设备所链接的WI-FI是否为移动热点。识别成功率可达到95%以上;识别正确率可达到98%。

使用场景:通过判断当前用户手机的上网状态是否为WI-FI、是否为WI-FI移动热点,从而执行对应的业务逻辑。

例如:视频等类型的应用,可以通过判别当前用户所连接的WI-FI是否是移动热点,从而控制是否进行视频的自动播放,或者给予用户提示性信息。

注意: 需要用到识别移动热点的开发者,ios12之后需要在xcode上增加配置,enable the Access WiFi Information capability。

实现移动热点识别能力的方法如下:

1. 引入头文件

在调用定位功能的类中引入 BMKLocationComponent.h 这个头文件

#import <BaiduMapAPI_Location/BMKLocationComponent.h>
2. 配置AK

在调用定位时,需要添加AK,需要注意的是请在 SDK 任何类的初始化以及方法调用之前设置正确的 AK。设置AK的方式如下:

[[BMKLocationAuth sharedInstance] checkPermisionWithKey:@"输入AK" authDelegate:self];
3. 初始化locationManager
_locationManager = [[BMKLocationManager alloc] init];
_locationManager.delegate = self;
4. 实现BMKLocationManagerDelegate的方法
- (void)BMKLocationManager:(BMKLocationManager * _Nonnull)manager
didUpdateNetworkState:(BMKLocationNetworkState)state orError:(NSError * _Nullable)error
{
NSString * result = nil;
if (error) {
result = @"识别结果:当前网络状态无法判断";
} else {
switch(state) {
case BMKLocationNetworkStateWifi:
result = @"识别结果:当前网络状态是wifi";
break;
case BMKLocationNetworkStateWifiHotSpot:
result = @"识别结果:当前网络状态是WI-FI移动热点";
break;
case BMKLocationNetworkStateMobile4G:
result = @"识别结果:当前网络状态是4G";
break;
case BMKLocationNetworkStateMobile2G:
result = @"识别结果:当前网络状态是2G";
break;
case BMKLocationNetworkStateMobile3G:
result = @"识别结果:当前网络状态是3G";
break;
default:
result = @"识别结果:当前网络状态无法判断";
break;
}
}
}
5. 触发调用
[_locationManager requestNetworkState];

上一篇

地理围栏

下一篇

国内外位置判断

本篇文章对您是否有帮助?