请确保您的应用接入或升级至维智定位 Android SDK V7.2.0 及以上版本。
该版本已完成以下合规优化:
建议通过维智开发者平台 获取最新版本及更新日志。
本 SDK 严格遵循权限最小必要原则,仅申请以下与定位功能直接相关的系统权限:
| 权限名称 | 权限说明 | 是否必须 | 使用目的 |
|---|---|---|---|
android.permission.ACCESS_COARSE_LOCATION | 允许访问粗略位置(基站、网络定位) | 是 | 用于网络定位,获取基站粗略地理位置 |
android.permission.ACCESS_FINE_LOCATION | 允许访问精确位置(GPS、WiFi、基站混合) | 是 | 用于访问 GPS,获取高精度定位信息 |
android.permission.READ_PHONE_STATE | 读取手机状态、基站标识 | 是 | 读取手机当前状态,获取基站信息辅助网络定位 |
android.permission.ACCESS_NETWORK_STATE | 获取网络状态、运营商信息 | 是 | 获取运营商信息,用于支持定位相关网络接口 |
android.permission.ACCESS_WIFI_STATE | 读取 WiFi 信息(WiFi 列表、信号) | 是 | 访问 WiFi 网络信息,WiFi 信息用于网络定位 |
android.permission.CHANGE_WIFI_STATE | 修改 WiFi 状态、触发 WiFi 扫描 | 是 | 发起 WiFi 扫描获取 WiFi 信息,用于网络定位 |
android.permission.INTERNET | 访问网络 | 是 | 访问网络,上传 / 传输定位数据 |
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS | 访问位置额外指令、A-GPS 辅助 | 否 | 申请调用 A-GPS 模块辅助定位加速 |
android.permission.FOREGROUND_SERVICE | 前台服务基础权限 | 是 | 创建前台服务,持续获取位置 |
android.permission.FOREGROUND_SERVICE_LOCATION | 位置类型前台服务权限 | 是 | 声明位置类型前台服务,Android14 启动位置前台服务必需 |
android.permission.ACCESS_BACKGROUND_LOCATION | 后台位置访问权限 | 否 | App 退至后台时仍可持续获取位置 |
权限说明可视化:在申请权限时,建议通过弹窗向用户说明:
"我们需要获取您的位置信息,以提供精准的定位服务。您可以随时在设备设置中管理该权限。"
动态权限申请:避免在应用启动时一次性申请所有权限,应根据功能使用场景动态申请。在使用定位功能之前动态申请如下权限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx">
<!-- 粗略位置 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 精确位置 GPS/WiFi混合定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 后台位置 Android10+,需跳转系统设置手动授权 -->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<!-- 读取手机状态、基站信息 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
</manifest>
用户同意前置:必须在获得用户对位置信息收集的明确授权后,方可初始化 SDK
初始化实现
// 1. 声明App隐私政策已包含维智SDK隐私政策,禁用SDK内置隐私弹窗(业务自主实现弹窗)
MapsInitializer.updatePrivacyShow(this, true, false);
// 2. 用户阅读并同意隐私政策后,设置授权状态为已同意
MapsInitializer.updatePrivacyAgree(this, true);
如何配置收集个人信息的频度和精度,为了满足不同业务实现需求,我们连续定位接口,可设置定位频率连续定位时,定位频率用于指定每次定位的时间间隔。
val option = WzLocationClientOption()
// 回调间隔,单位ms
option.interval = 5000
/...
client = WzLocationClient(this@Activity, option)
在您接入、使用【维智定位 SDK】服务前,我们要求您在隐私政策中向用户告知我们 SDK 的名称、SDK提供方名称、收集个人信息类型、使用目的、隐私政策链接,并获取用户的同意或取得其他合法性基础,在提供维智定位服务时,涉及处理敏感个人信息/向中华人民共和国境外提供个人信息,建议您单独弹框获取用户的单独同意。您可以参考如下方式提供条款内容:
以文字方式向用户告知
第三方SDK名称: 维智定位 SDK
第三方公司名称: 武汉维网智芯信息科技有限公司
收集个人信息类型 :
使用目的: 提供定位、位置信息、正地理接口等服务
隐私政策链接:维智位置服务 SDK 隐私政策
| 第三方 SDK 名称 | 第三方公司名称 | 收集个人信息类型 | 使用目的 | 隐私政策链接 |
|---|---|---|---|---|
| 维智位置服务 SDK | 武汉维网智芯信息科技有限公司 | 网络信息:网络类型、Wi-Fi 信息(MAC、BSSID)、基站信息,辅助提升定位精度。 设备信息:传感器信息(矢量、加速度、压力)、设备参数及系统信息(设备品牌及型号、操作系统、运营商信息) 位置信息:GPS 坐标,实现实时位置获取提供精准定位。 | 提供定位、位置信息、正地理接口等服务 | https://lothub.newayz.com/sdk_policy/index.html |
1. 授权流程建议:
2. 示例话术:
"为了向您提供精准的位置服务,我们需要获取您的位置信息。您可以随时在设备设置中管理该权限。"
本 SDK 提供以下接口支持用户行使数据权利:
1. 访问位置数据:
client = WzLocationClient(this@Activity, option)
client.startLocation(object :WzLocationListener{
override fun onLocationReceived(location: WzLocation?) {
}
override fun onLocationError(exception: WzException?) {
}
})
2. 停止获取位置数据
client.stopLocation()