【发布时间】:2015-12-15 17:41:42
【问题描述】:
今天在尝试我的代码时,我的脑海中出现了一些关于gps提供者、gps硬件、gps图标和精细定位权限的疑问。
我在 Samsung Galaxy s3、Htc one m8 上观察到了我的代码和 gps 图标。并且 gps 已禁用
mLocationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000 * 10, 0, this, Looper.myLooper());
...
@Override
public void onLocationChanged(Location location) {
mListenerRef.get().onLocationChanged(location);
}
Galaxy s3 - Gps 图标没有出现,它没有触发 onLocationChanged 方法。 (没关系)
Htc one m8 - Gps 图标出现、闪烁和触发 onLocationChanged(但如何?)
此时问题弹出
- ACCESS_FINE_LOCATION 权限是否会在某些设备上赋予应用覆盖 GPS 状态?
- 那么,即使禁用 gps,应用程序也能接收位置信息吗?
然后我在galaxy s3上启用了gps
(前 2 分钟)出现 Gps 图标(但不闪烁),触发 onLocationChanged 方法(但如何?)
(2分钟后)GPS图标出现(闪烁),触发了onLocationChanged方法
再次弹出问题
- gps 图标闪烁是什么意思?任何非规范的含义?
- 闪烁是否意味着 gps 硬件正在尝试第一次修复?
- 或者闪烁意味着提供者触发 onLocationChanged 方法?
【问题讨论】: