问北位置开放平台
  1. Android接入
问北位置开放平台
  • 概述
  • 易测SDK
    • 概述
    • 接入前准备
    • 企业认证与创建应用
      • 企业注册与认证
      • 创建应用及获取秘钥
    • 易测终端购买与激活
      • 易测终端购买
      • 易测终端激活
    • 技术支持
    • Android接入
      • 必读
      • 安装
      • 更新日志
      • SDK使用-易测终端
      • SDK使用-手机高精度
    • 微信小程序SDK
      • Readme
  • 平台API
    • 接入前必读
    • 1、认证接口
      • 1.1、获取应用token
      • 1.2、获取sdkToken
  1. Android接入

SDK使用-手机高精度

请向问北平台申请key和secret#

使用SDK时需要获取sdkToken, sdkToken获取方法见文档 1.2、获取sdkToken
secret 不应该放在客户端,应该放在服务端
如有问题,请查看Demo

Demo#

示例:MainActivity
本地运行Demo需要在 com.esurvey.esurvey_sdk.utils.Api 里面 填写自己申请的key 和 secret

安装#

如需使用手机高精度,需添加额外的依赖

settings.gradle 添加 本地 libs文件夹#

pluginManagement {
    repositories {
        xxx
        flatDir {
            dirs("libs")
        }
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        xxx
        flatDir {
            dirs("libs")
        }
    }
}

拷贝Demo中 libs下的aar#

Demo地址

gradle 文件中添加依赖#

AndroidManifest.xml 中添加广播#

<application>
    ...
    <receiver android:name="com.esurvey.sdk.out.service.MobileHighLocationReceiver"
        android:exported="true">
        <intent-filter>
            <action android:name="cn.programmer.CUSTOM_INTENT" />
            <action android:name="cn.programmer.CUSTOM_INTENT_1" />

            <action android:name="cn.programmer.CUSTOM_INTENT_LOCATION" />
        </intent-filter>
    </receiver>
</application>

使用手机高精度#

示例:MainActivity

实例化ESurvey对象#

class MainActivity : ComponentActivity() {
    val instance = ESurvey.getInstance()
    ...
}

设置key (v1.5新增)#

全局设置一次即可, 请在App初始化中传入,可在Application或者主Activity中Oncreate方法传入。key值请向问北位置平台申请, 使用SDK前必须传入key

运行时权限请求 (外部存储权限,所有文件访问权限)#

Xml配置
    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
        tools:ignore="ScopedStorage" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Api29+ 需要 requestLegacyExternalStorage
<application
    ...
    android:requestLegacyExternalStorage="true">
    ....
</application>
运行时权限

添加位置信息监听器(与天线版本是同一个)#

LocationState对象解析#

参数名解析备注
lon经度
lat纬度
height高程
yInaccuracies高程误差
xInaccuracies水平误差
locationShow格式化后的经纬度显示,保留7位小数后拼在了一起String.format("%.7f", lat) + " , " + String.format("%.7f", lon)
pdoppdop
satelliteNum解算卫星数量
locationStatus定位状态1: 单点解 2: 伪距差分 4: 固定解 5: 浮点解 6:组合定位
locationStatusShow解析后的定位状态,返回中文如:固定解
source数据来源1: 外接天线 2: 手机自带Rtk
antennaDataSource天线数据来源1: Type-c 2: 蓝牙
isNetworkDiffSync网络查分数据是否参与了解算true: 参与了解算 false: 未参与解算-数据仅来源FM
ggaggagga原始数据
nrtk014天线原始数据天线原始数据

添加手机高精度状态监听器#

其中 onPlaySounds 回调中可播放声音,请在Demo中复制声音文件
onChange回调中,如果status 等于 Constant.MOBILE_HIGH_CLOSE 表示高精度被迫关闭(如无法结算等) 请注意是被迫关闭,如果主动调用 stopMobileHighLocation 方法将不会有回调

启动高精度定位#

在V1.5版本有不兼容更新
context
hostAppUserId: 用户在贵司平台的UserId(宿主App的UserId)
sdkToken: APP登录用户调用问北相关接口的临时凭证,sdkToken获取方法见文档 [1.2、获取sdkToken]

结束高精度定位#

不使用时请调用此方法结束,否则可能内存泄漏
调用此方法不会有回调
修改于 2025-01-16 05:17:22
上一页
SDK使用-易测终端
下一页
Readme
Built with