Android gps提供商和gps图标

时间:2015-12-15 17:41:43

标签: android gps 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);
}

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方法?

3 个答案:

答案 0 :(得分:2)

gps图标闪烁是什么意思?

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

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

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

Htc one m8 - Gps图标出现,闪烁,并点燃了LocChanged(但是怎么样?)

- >没有启用位置更新听起来很奇怪。我不确定你是如何确认你获得了位置更新。

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

答案 1 :(得分:1)

Fine_location权限将允许用户从gps,wifi,网络进行更新。因此,如果gps不可用仍然可以触发onlocationChange(),因为最近的位置可能已经通过wifi /网络获取。

(引自链接:http://developer.android.com/guide/topics/location/strategies.html

注意:如果您同时使用NETWORK_PROVIDER和GPS_PROVIDER,则只需要请求ACCESS_FINE_LOCATION权限,因为它包含两个提供商的权限。 (ACCESS_COARSE_LOCATION的权限仅包括NETWORK_PROVIDER的权限。 )

手机如何显示gps图标而不启用gps,我怀疑是否可能。

答案 2 :(得分:1)

使用HTC One(M7),APP有权使用GPS并使'GPS'公平游戏 - ('GPS'='GPS Spoofer',AGPS [如果允许],使用WiFi和GPS的APP [所以位置几乎总是立即可用],当然还有手机真正的硬件GPS / GLONASS / Galileo /等。)

HTC UI有一个使用GPS的应用程序图标(无论电话认为提供商是什么,一些APP检查提供商;他们不接受欺骗性地点,EG:大多数订阅APP,Google Play商店, abrev.GPS;))。

硬件GPS会显示第二个图标。它在等待足够的卫星时闪烁。在室内,没有WiFi,使用AGPS,我可以在不到1/2分钟内锁定。

你可能想在收到你的LC消息时检查错误,因为如果你超过100 M你不会真的知道你在哪里而且可能没有效果位置;来自另一个(弱)卫星的未决计算可能足以让您低于50 M错误,此时您应该开始接受该位置有效(您的APP可能想要记录带坐标的错误,然后可以用圆圈显示位置代表不确定性)。

开发时,您希望确定购买最受欢迎的手机(因此您需要真正的硬件进行测试,并支持最多的客户),并购买带有您想要Android APP的硬件的FEW手机控制 - 在您的情况下购买带有不同 GPS硬件的电话,对于其他人,他们可能需要购买一些具有不同相机硬件(或WiFi芯片等)的电话。

在Android的手机Mfgs版本,他们的用户界面以及他们的GPS硬件操作方式(以及您已经安装的其他APP,如Spoofer)之间,您有很多变量,您的程序必须兼顾并且很多情况(错误返回),它必须允许在尽可能多的设备上以相同的方式运行。