换言之,根据安卓系统的文档,关于LocationManager,“位置提供商提供关于device....some供应商地理位置的定期报告,需要全球定位系统硬件和多颗卫星的能见度;另一些则需要使用蜂窝无线电,或访问特定运营商的网络或互联网”,所有这些都需要ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION许可。如果一个应用程序没有要求这些权限,但是它要求ACCESS_NETWORK_STATE、ACCESS_WIFI_STATE和互联网,那么应用程序能推断出位置吗?如果是这样的话,是什么API调用导致了这种情况的发生,我阅读了API指南,连接部分,并搜索了android.net.wifi下的类,但是找不到会造成这种情况的原因。
希望我事先清楚地问了我的问题并表示感谢!
发布于 2014-10-25 08:15:09
Note: If you are using both NETWORK_PROVIDER and GPS_PROVIDER, then you need to request only the ACCESS_FINE_LOCATION permission, because it includes permission for both providers. (Permission for ACCESS_COARSE_LOCATION includes permission only for NETWORK_PROVIDER.)
你应该考虑到粗定位(电池友好型)不如精细定位(不方便电池),而且通常都需要它们,因为用户可以决定从设备网络位置启用GPS,并且禁用GPS,优化应用程序是您的职责,这样它就不会杀死电池。以上信息(以及更多关于位置的信息)可以在这里找到http://developer.android.com/guide/topics/location/strategies.html。
对于将来的参考,您可能会发现这个表很有用,http://developer.android.com/guide/topics/manifest/uses-feature-element.html#features-reference
https://stackoverflow.com/questions/26544152
复制相似问题