Android gps提供商和gps图标

bla*_*ara 9 gps android location

今天,当我尝试使用我的代码时,脑子里出现了一些可疑的东西,关于gps提供程序,gps硬件,gps图标和精确的位置许可.

我在三星galaxy s3上看到了我的代码和gps图标,Htc是一个m8.并且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);
}
Run Code Online (Sandbox Code Playgroud)

Galaxy s3 - Gps图标没有出现,它没有触发onLocationChanged方法.(没关系)

Htc一个m8 - Gps图标出现,闪烁,并点燃 onLocationChanged(但是怎么样?)

此时问题弹出

  • ACCESS_FINE_LOCATION权限是否允许应用在某些设备上覆盖gps状态?
  • 那么,应用程序是否可以接收位置甚至gps禁用?

然后我在galaxy s3上启用了gps

(前2分钟)Gps图标出现(但没有闪烁),触发onLocationChanged方法(但是如何?)

(2分钟后)Gps图标出现(闪烁),触发onLocationChanged方法

再次出现问题

  • gps图标闪烁是什么意思?任何外部意义?
  • 闪烁是否意味着gps硬件尝试首次修复?
  • 或者闪烁意味着提供者触发onLocationChanged方法?

kev*_*evz 2

GPS图标闪烁是什么意思?

-> 好吧,我希望你知道 GPS 提供商不在室内工作。因此,完全不可能从 GPS 提供商处获得位置更新。在这种情况下,如果用户启用 GPS,则会出现 GPS 闪烁图标,通知用户正在搜索 GPS。

-> 一旦找到 GPS,图标就不再闪烁,您将从 GPS 提供商处获得位置更新。

-> 静止的 GPS 图标表示 Android 系统已准备好从 GPS 提供商发送位置更新。


Htc one m8 - Gps 图标出现,闪烁,并在 LocationChanged 上触发(但是如何?)

-> 在不启用位置更新的情况下获取位置更新听起来很奇怪。我不确定您如何确认您已获得位置更新。

-> 我建议您检查 GPS 提供商是否已启用,然后请求位置更新。