ios定位sdk | 百度地图api sdk-凯发k8官方旗舰厅

浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
移动热点识别
下载开发文档

移动热点判别功能指的是,可以通过接口调用,判别当前设备所链接的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){
casebmklocationnetworkstatewifi:
result = @"识别结果:当前网络状态是wifi";
break;
casebmklocationnetworkstatewifihotspot:
result = @"识别结果:当前网络状态是wi-fi移动热点";
break;
casebmklocationnetworkstatemobile4g:
result = @"识别结果:当前网络状态是4g";
break;
casebmklocationnetworkstatemobile2g:
result = @"识别结果:当前网络状态是2g";
break;
casebmklocationnetworkstatemobile3g:
result = @"识别结果:当前网络状态是3g";
break;
default:
result = @"识别结果:当前网络状态无法判断";
break;
}
}
}
5. 触发调用
[_locationmanager requestnetworkstate];

上一篇

地理围栏

下一篇

国内外位置判断

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

网站地图