我有一个已经在清单中请求ACCESS_FINE_LOCATION
权限的GPS应用程序,现在我想添加一个需要ACCESS_COARSE_LOCATION
的库(MoPub)。
我认为ACCESS_FINE_LOCATION
已经足够了,我可以从我的清单中遗漏ACCESS_COARSE_LOCATION
吗?
答案 0 :(得分:127)
https://developer.android.com/guide/topics/location/strategies.html#Permission
注意:如果您同时使用NETWORK_PROVIDER和GPS_PROVIDER,则只需要请求ACCESS_FINE_LOCATION权限,因为它包含两个提供商的权限。 (ACCESS_COARSE_LOCATION的权限仅包含NETWORK_PROVIDER的权限。)
简而言之:是的,如果您已定义ACCESS_COARSE_LOCATION
,则不需要ACCESS_FINE_LOCATION
。
答案 1 :(得分:9)
取决于您的需求。
明确许可,ACCESS_FINE_LOCATION
包括ACCESS_COARSE_LOCATION
。但是,有一个问题:
ACCESS_COARSE_LOCATION
为您提供最后知道的电池友好位置
N3399
例如,如果您的应用程序执行基于位置的建议,则最后知道的位置就足够了
这具有依赖于Google Play服务
但是,如果您需要像Pokemon Go这样的实时/实时位置,请使用ACCESS_FINE_LOCATION
它为您提供实时/实时位置。您需要使用LocationListener
我上次检查时,这不需要Google Play服务