我什么时候应该使用ACCESS_COARSE_LOCATION权限?

我正在构建一个Android应用程序,它将跟踪用户的地理位置并在地图上绘制他们的路线。

我正在使用Google Play服务位置API,如此处所述。

直观的是我的应用程序需要ACCESS_FINE_LOCATION权限,我将其放入清单中:

  

我还需要ACCESS_COARSE_LOCATION权限吗? 我需要粗略位置的用例是什么?

  • 为什么我从谷歌appengine登录而不是ACSID获得SACSID cookie?
  • 对于Listentypes,方法getSystemService(String)是未定义的
  • Android进程经常产生logcat“已经死亡”的消息。
  • 如何检测Android设备中没有相机? 如果该设备有前置摄像头如何使用它?
  • WebView没有重定向的历史记录
  • 如何使用Firebase服务器时间戳生成日期?
  • 需要Android和演示者的关键代码表
  • 调用BaseAdapter notifyDatasetChanged()但从不调用getView()
  • 我还需要ACCESS_COARSE_LOCATION权限吗?

    没有。

    我需要粗略位置的用例是什么?

    如果您不要求ACCESS_FINE_LOCATION ,但您需要位置数据,并且您愿意将该数据模糊(例如,从用户的位置到城市街区附近)。 对于LocationManager ,您只能使用NETWORK_PROVIDER ; 在Play服务融合位置提供商的情况下,他们应该在内部处理这个问题。

    很久很久以前,用户在安装时被告知该应用是否需要粗略或精细的位置访问。 用户可能会接受需要粗略访问但拒绝需要精确访问的应用的应用。

    由于用户界面已经发生变化,用户在确定应用是否需要粗略或精细的位置许可方面会遇到一些困难,我怀疑大多数开发人员只是要求获得良好的位置许可。 话虽这么说,如果你知道你的应用程序不需要那么高的准确度(例如,你想要天气预报的位置),那么要求粗略的位置许可是隐私方面的一个很好的“小费”。可能在未来再次certificate是有益的。

    不,你不需要使用粗略的位置。

    粗略位置适用于网络提供商的位置,精确位置适用于gps提供商和网络位置提供商。 这么好的位置涵盖了两者,你不需要使用另一个。

    这是一个供您参考的链接。

    位置可以通过两种方式确定:

     Using NETWORK_PROVIDER Using GPS_PROVIDER 
    1. 使用NETWORK_PROVIDER

      使用此提供程序所需的Android权限是ACCESS_COARSE_LOCATIONACCESS_FINE_LOCATION

    2. 使用GPS_PROVIDER

      使用此提供程序所需的Android权限仅为ACCESS_FINE_LOCATION