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

文档全面上新

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

体验新版
 
第47行: 第47行:
 
</pre></div>
 
</pre></div>
 
<div class="devguideorder"><span>4</span>第四步,发起调用并得到结果</div>
 
<div class="devguideorder"><span>4</span>第四步,发起调用并得到结果</div>
<div class="devguidecenter">调用LocationClient.requestHotSpotState()接口,便可在步骤三中创建好的回调函数中获得结果。核心代码如下:
+
<div class="devguidecenter">调用LocationClient.requestHotSpotState()接口,便可在步骤三中创建好的回调函数中获得结果。
 +
 
 +
核心代码如下:
 
<pre class="prettyprint codestyle">
 
<pre class="prettyprint codestyle">
 
mLocationClient.requestHotSpotState();
 
mLocationClient.requestHotSpotState();

2021年6月29日 (二) 16:12的最后版本

简介

移动热点判别功能指的是,可以通过接口调用,判别当前设备所链接的Wi-Fi是否为移动热点。

识别成功率可达到95%以上,识别正确率可达到98%。

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

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

使用移动热点判别功能的方法如下:

1第一步,准备工作
在使用定位SDK进行具体开发工作之前,需获取密钥(AK),并对开发工程进行环境配置工作。详细介绍请参考项目创建部分的说明。 此外,Google在Android 6.0中引入了动态权限获取机制,开发者在使用定位SDK之前,请详细了解关于Android 6.0系统开发须知。
2第二步,初始化LocationClient类
请在主线程中声明LocationClient类对象,该对象初始化需传入Context类型参数。推荐使用getApplicationConext()方法获取全进程有效的Context。

核心代码段如下:

public LocationClient mLocationClient = null;
private MyLocationListener myListener = new MyLocationListener();
//BDAbstractLocationListener为7.2版本新增的Abstract类型的监听接口
//原有BDLocationListener接口暂时同步保留。具体介绍请参考后文中的说明
public void onCreate() {
    mLocationClient = new LocationClient(getApplicationContext());     
    //声明LocationClient类
    mLocationClient.registerLocationListener( myListener );    
    //注册监听函数
}
3第三步,实现BDAbstractLocationListener接口
Android定位SDK自V7.2版本起,对外提供了Abstract类型的监听接口BDAbstractLocationListener,用于实现定位监听。原有BDLocationListener暂时保留,推荐开发者升级到Abstract类型的新监听接口使用,该接口会异步获取定位结果,核心代码如下:
public class MyLocationListener extends BDAbstractLocationListener{
    @Override
    public void onConnectHotSpotMessage(String connectWifiMac, int hotSpotState){
        //在这个回调中,可获取当前设备所链接网络的类型、状态信息
        //connectWifiMac:表示连接WI-FI的MAC地址,无连接或者异常时返回NULL
        //hotSpotState有以下三种情况
        //LocationClient.CONNECT_HPT_SPOT_TRUE:连接的是移动热点
        //LocationClient.CONNECT_HPT_SPOT_FALSE:连接的非移动热点
        //LocationClient.CONNECT_HPT_SPOT_UNKNOWN:连接状态未知
    }
}
4第四步,发起调用并得到结果
调用LocationClient.requestHotSpotState()接口,便可在步骤三中创建好的回调函数中获得结果。

核心代码如下:

mLocationClient.requestHotSpotState();
//mLocationClient为第二步初始化过的LocationClient对象
//调用LocationClient的requestHotSpotState()方法,便可发起请求,获取设备所链接网络信息
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

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

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消