浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
简介

移动热点判别功能指的是,可以通过接口调用,判别当前设备所链接的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];
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消