类 LocationClient

  • 所有已实现的接口:
    com.baidu.location.common.FirstLocRequest.FirstLocationListener, com.baidu.location.utils.LocalDebug, com.baidu.location.utils.VersionConfig

    public final class LocationClient
    extends java.lang.Object
    implements com.baidu.location.utils.VersionConfig, com.baidu.location.common.FirstLocRequest.FirstLocationListener
    定位服务的客户端,宿主程序在客户端声明此类,并调用,目前只支持在主线程中启动
    • 字段详细资料

      • CONNECT_HOT_SPOT_TRUE

        public static final int CONNECT_HOT_SPOT_TRUE
        连接wifi是移动热点
        另请参阅:
        常量字段值
      • CONNECT_HOT_SPOT_FALSE

        public static final int CONNECT_HOT_SPOT_FALSE
        连接wifi不是移动热点
        另请参阅:
        常量字段值
      • CONNECT_HOT_SPOT_UNKNOWN

        public static final int CONNECT_HOT_SPOT_UNKNOWN
        连接移动热点状态未知
        另请参阅:
        常量字段值
      • LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_GPS

        public static final int LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_GPS
        诊断信息:打开GPS定位会更加精准
        另请参阅:
        常量字段值
      • LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_WIFI

        public static final int LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_WIFI
        诊断信息:打开wifi(不用连接)定位会更加精准
        另请参阅:
        常量字段值
      • LOC_DIAGNOSTIC_TYPE_NEED_CHECK_NET

        public static final int LOC_DIAGNOSTIC_TYPE_NEED_CHECK_NET
        诊断信息:定位失败,请检查网络是否畅通
        另请参阅:
        常量字段值
      • LOC_DIAGNOSTIC_TYPE_NEED_CHECK_LOC_PERMISSION

        public static final int LOC_DIAGNOSTIC_TYPE_NEED_CHECK_LOC_PERMISSION
        诊断信息:定位失败,请确认是否授予APP定位权限
        另请参阅:
        常量字段值
      • LOC_DIAGNOSTIC_TYPE_NEED_OPEN_PHONE_LOC_SWITCH

        public static final int LOC_DIAGNOSTIC_TYPE_NEED_OPEN_PHONE_LOC_SWITCH
        诊断信息:定位失败,请打开手机定位开关
        另请参阅:
        常量字段值
      • LOC_DIAGNOSTIC_TYPE_NEED_INSERT_SIMCARD_OR_OPEN_WIFI

        public static final int LOC_DIAGNOSTIC_TYPE_NEED_INSERT_SIMCARD_OR_OPEN_WIFI
        诊断信息:无法获取任何定位依据,请插入SIM卡或者打开wifi重试
        另请参阅:
        常量字段值
      • LOC_DIAGNOSTIC_TYPE_NEED_CLOSE_FLYMODE

        public static final int LOC_DIAGNOSTIC_TYPE_NEED_CLOSE_FLYMODE
        诊断信息:飞行模式无法定位,请关闭飞行模式重试
        另请参阅:
        常量字段值
      • LOC_DIAGNOSTIC_TYPE_SERVER_FAIL

        public static final int LOC_DIAGNOSTIC_TYPE_SERVER_FAIL
        诊断信息:服务端定位失败
        另请参阅:
        常量字段值
      • LOC_DIAGNOSTIC_TYPE_FAIL_UNKNOWN

        public static final int LOC_DIAGNOSTIC_TYPE_FAIL_UNKNOWN
        诊断信息:未知定位异常原因,请确认周围环境或者检查手机有无管家软件没有授权APP定位权限等
        另请参阅:
        常量字段值
      • LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_FINE_PERMISSION

        public static final int LOC_DIAGNOSTIC_TYPE_BETTER_OPEN_FINE_PERMISSION
        诊断信息:打开精准定位权限会获取更准确的位置信息
        另请参阅:
        常量字段值
      • LOC_DIAGNOSTIC_TYPE_COARSE_FAIL

        public static final int LOC_DIAGNOSTIC_TYPE_COARSE_FAIL
        诊断信息:模糊定位失败
        另请参阅:
        常量字段值
    • 构造器详细资料

      • LocationClient

        public LocationClient​(android.content.Context context)
                       throws java.lang.Exception
        构造函数
        参数:
        context - 需要全局有效的context,建议通过getApplicationContext传入
        抛出:
        java.lang.Exception
      • LocationClient

        public LocationClient​(android.content.Context context,
                              LocationClientOption locOption)
                       throws java.lang.Exception
        构造函数
        参数:
        context - 需要全局有效的context,建议通过getApplicationContext传入
        locOption - client相关的参数设定
        抛出:
        java.lang.Exception
    • 方法详细资料

      • getLocOption

        public LocationClientOption getLocOption()
        返回:
        目前的LocationClientOption 设置
      • setLocOption

        public void setLocOption​(LocationClientOption locOption)
        设置 LocationClientOption
        参数:
        locOption - client相关的参数设定
      • updateLocation

        public boolean updateLocation​(android.location.Location gpslocation)
        NA
      • requestNotifyLocation

        public void requestNotifyLocation()
        NA
      • requestOfflineLocation

        public int requestOfflineLocation()
        离线定位请求,异步返回,结果在locationListener中获取.
        返回:
        0:离线定位请求成功 1:service没有启动 2:无监听函数
      • requestLocation

        public int requestLocation()
        请求定位,异步返回,结果在locationListener中获取.
        返回:
        0:离线定位请求成功 1:service没有启动 2:无监听函数 6:两次请求时间太短
      • isStarted

        public boolean isStarted()
        client是否started,很多开发者会在start之后去检查此函数,定位客户端启动会有一定时间,所以会有一定延时,实际上调用start方法后定位SDK会默认立即发起定位请求,开发者不用额外检查
        返回:
        boolean
      • getLastKnownLocation

        public BDLocation getLastKnownLocation()
        同步定位,返回最近一次定位结果
        返回:
        BDLocation
      • getVersion

        public java.lang.String getVersion()
        获取定位sdk版本信息
        返回:
        String
      • restart

        public void restart()
        重启定位SDK,后台常驻运行的APP可以尝试在回到前台的情况下重启定位SDK,防止因长时间后台运行被系统回收定位权限造成定位失败
      • enableLocInForeground

        public void enableLocInForeground​(int id,
                                          android.app.Notification notification)
        开发者应用如果有后台定位需求,在退到后台的时候,为了保证定位可以在后台一直运行, 可以调用该函数,会将定位SDK的SERVICE设置成为前台服务,适配ANDROID 8后台无法定位问题,其他版本下也会提高定位进程存活率
        参数:
        id - 为通知栏notifation设置唯一id,必须大于0
        notification - 开发者自定义通知
      • disableLocInForeground

        public void disableLocInForeground​(boolean removeNotification)
        关闭前台定位服务
        参数:
        removeNotification - 是否移除通知栏通知
      • enableAssistantLocation

        public void enableAssistantLocation​(android.webkit.WebView webView)
        开发者应用如果有H5页面使用了百度JS接口,该接口可以辅助百度JS更好的进行定位
        参数:
        webView - WebView对象
      • disableAssistantLocation

        public void disableAssistantLocation()
        停止H5辅助定位
      • setKey

        public static void setKey​(java.lang.String key)
        设置鉴权值
      • start

        public void start()
        启动定位sdk
      • stop

        public void stop()
        停止定位sdk
      • registerNotify

        public void registerNotify​(BDNotifyListener mNotify)
        注册位置提醒监听
        参数:
        mNotify - 参考位置提醒类
      • removeNotifyEvent

        public void removeNotifyEvent​(BDNotifyListener mNotify)
        取消注册的位置提醒监听
        参数:
        mNotify - 参考位置提醒类
      • setAgreePrivacy

        public static void setAgreePrivacy​(boolean isAgreePrivacy)
      • registerNotifyLocationListener

        public void registerNotifyLocationListener​(BDLocationListener listener)
        NA
      • registerLocationListener

        public void registerLocationListener​(BDAbstractLocationListener listener)
        注册 BDAbstractLocationListener 定位监听函数
        参数:
        listener - 注册位置回调接口
      • unRegisterLocationListener

        public void unRegisterLocationListener​(BDAbstractLocationListener listener)
        取消之前注册的 BDAbstractLocationListener 定位监听函数
        参数:
        listener - 取消位置回调接口
      • startIndoorMode

        public boolean startIndoorMode()
        打开室内定位模式,该模式下会加快定位速度并输出连续室内定位结果;当BDLocation.getFloor() != null时,表明该区域已经支持室内定位,开发者可以尝试调用该接口,体验高精度室内定位功能。
        返回:
        boolean 是否成功
      • stopIndoorMode

        public boolean stopIndoorMode()
        关闭室内定位模式
        返回:
        boolean 是否成功
      • requestHotSpotState

        public boolean requestHotSpotState()
        触发请求当前连接wifi是否是移动热点的状态
        返回:
        是否请求成功
      • startVdr

        public boolean startVdr​(java.util.ArrayList<java.lang.String> naviPoints)
        开启vdr
        参数:
        naviPoints -
        返回:
      • getAccessKey

        public java.lang.String getAccessKey()
        获取用户设置的KEY
        返回:
        String
      • getBDLocationInCoorType

        public static BDLocation getBDLocationInCoorType​(BDLocation src,
                                                         java.lang.String transferType)
        根据设定的转换坐标系类型得到相应坐标系下的BDLocation
        参数:
        src - 原始BDLocation
        transferType - BDLocation.BDLOCATION_GCJ02_TO_BD09/BDLOCATION_GCJ02_TO_BD09LL/BDLOCATION_BD09_TO_GCJ02/ BDLOCATION_BD09LL_TO_GCJ02/BDLOCATION_WGS84_TO_GCJ02
      • onReceiveLocation

        public void onReceiveLocation​(BDLocation location)
        指定者:
        onReceiveLocation 在接口中 com.baidu.location.common.FirstLocRequest.FirstLocationListener
      • onReceiveLightLocString

        public void onReceiveLightLocString​(java.lang.String locStr)
        指定者:
        onReceiveLightLocString 在接口中 com.baidu.location.common.FirstLocRequest.FirstLocationListener