ACCESS_FINE_LOCATION 和 ACCESS_COARSE_LOCATION 都是用于获取设备位置的权限,但它们的精确度和使用场景有所不同。
ACCESS_FINE_LOCATION
- 精确度:高精确,提供更详细的位置信息。
- 使用场景:适用于需要精确定位的应用,例如地图、导航、蓝牙设备扫描(特别是低功耗蓝牙(BLE)扫描)。
- 使用的定位源:可以使用 GPS、Wi-Fi、蓝牙和移动网络等多种定位源。
ACCESS_COARSE_LOCATION
- 精确度:较低精度,提供大概的位置信息。
- 使用场景:适用于不需要精确定位的应用,例如基于网络的粗略位置服务。
- 使用的定位源:主要依赖于 Wi-Fi 和移动网络,不使用 GPS。
两者的关系:
- ACCESS_FINE_LOCATION 包含了 ACCESS_COARSE_LOCATION 的功能。如果申请了ACCESS_FINE_LOCATION 就不需要再申请 ACCESS_COARSE_LOCATION。
综上,如果你的应用涉及到使用蓝牙进行设备扫描,推荐使用 ACCESS_FINE_LOCATION ,并且进行动态权限申请。