当仅请求 COARSE_LOCATION 时,Android 是不是仍会使用 GPS 来获取位置?

Posted

技术标签:

【中文标题】当仅请求 COARSE_LOCATION 时,Android 是不是仍会使用 GPS 来获取位置?【英文标题】:Will Android still use GPS to pull location when only COARSE_LOCATION is requested?当仅请求 COARSE_LOCATION 时,Android 是否仍会使用 GPS 来获取位置? 【发布时间】:2012-01-20 16:25:45 【问题描述】:

我想弄清楚我是否真的需要请求 ACCESS_FINE_LOCATION。我不需要真正准确的坐标。但是,如果手机信号塔或 WiFi 不可用,我希望能够从 GPS 获取位置(低精度很好)。但是,我在 android 文档中找不到关于此的明确答案。以下是 Android 文档所说的 (ACCESS_COARSE_LOCATION)。它告诉我请求粗略位置会给我来自“Cell-ID,WiFi”源的信息,并且请求精细权限将使用 GPS,但它没有说明 GPS 是任何类型的后备,因为只有粗略位置权限是请求。

公共静态最终字符串 ACCESS_COARSE_LOCATION

自:API 级别 1

允许应用程序访问粗略(例如,Cell-ID、WiFi)位置

常量值:“android.permission.ACCESS_COARSE_LOCATION”

公共静态最终字符串 ACCESS_FINE_LOCATION

自:API 级别 1

允许应用程序访问精细(例如 GPS)位置

常量值:“android.permission.ACCESS_FINE_LOCATION”

【问题讨论】:

【参考方案1】:

我认为其他post 和它引用的@​​987654322@ 文档回答了这个问题。 Android 文档说以下内容。

注意:如果您同时使用 NETWORK_PROVIDER 和 GPS_PROVIDER,那么您只需要请求 ACCESS_FINE_LOCATION 权限,因为它包含两个提供商的权限。 (ACCESS_COARSE_LOCATION 的权限仅包括 NETWORK_PROVIDER 的权限。)

所以,如果我没看错的话,请求 ACCESS_COARSE_LOCATION 不能从 GPS 中提取,因为它没有请求 GPS_PROVIDER 的访问权限。

【讨论】:

以上是关于当仅请求 COARSE_LOCATION 时,Android 是不是仍会使用 GPS 来获取位置?的主要内容,如果未能解决你的问题,请参考以下文章

sql 多对多查询结果仅当仅匹配且完全匹配数组中的所有项目时

linux文件的权限及特殊权限位

TypeError: __init__() got an unexpected keyword argument 'strict'

使用 AngularJS 在 Firefox 中更改请求标头时遇到问题

请问高手们the remote server returned an error:(400)bad request是啥意思啊?

Cordova 地理定位插件问题