Android的GPS提供商和GPS图标

今天,当我正在尝试我的代码,一些疑问的事情出现在我的脑海里,关于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一个M8 – Gps图标出现,闪烁,并开枪 onLocationChanged(但如何?)

此时此刻问题出现了

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

然后我启用gps在galaxy s3上

(第2分钟)Gps图标出现( 但不闪烁 ),解雇了LocationChanged方法(但怎么样?)

(2分钟后)Gps图标出现( 闪烁 ),解雇了LocationChanged方法

popup一个问题

  • gps图标闪烁是什么意思? 任何extracanonical的意思?
  • 闪烁的平均GPS硬件试图首先解决?
  • 或闪烁意味着提供者触发onLocationChanged方法?

Related of "Android的GPS提供商和GPS图标"

gps图标闪烁是什么意思?

– >那么我希望你知道,GPS供应商不能在屋顶下工作。 所以从GPS供应商的屋顶下进行位置更新是完全不可能的。 在这种情况下,如果用户启用了GPS,那么GPS闪烁图标就会出现,通知用户它正在searchGPS。

– >一旦发现GPS图标不再闪烁,你会得到来自GPS提供商的位置更新。

– >一个仍然GPS图标意味着Android系统准备好从GPS提供商发送位置更新。


HTC一个M8 – Gps图标出现,闪烁,并开枪onLocationChanged(但如何?)

– >听起来很奇怪,但没有启用位置更新。 我不知道你是如何确认你有位置更新。

– >我会build议你检查GPS提供商是否启用,然后请求位置更新。

Fine_location权限将使用户有更新从GPS,WiFi,networking。 因此,如果GPS不可用仍onlocationChange()可以被触发,因为最近的位置可能已经通过WiFi /networking获取。

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

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

如果您的手机显示GPS图标没有启用GPS,我怀疑这是可能的。

与HTC One(M7)的APP有权使用GPS,并使“GPS”公平游戏 – ('GPS'='GPS Spoofer',AGPS [如果允许],使用WiFi和GPS的应用程序几乎总是立即可用],当然,电话的真正的硬件GPS / GLONASS /伽利略/等)。

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

硬件GPS显示第二个图标。 它在等待足够的卫星时闪烁。 在室内,没有WiFi,AGPS,我可以在不到半分钟内locking。

你可能想要检查错误,当你得到你的LC消息,因为如果你超过100米,你不知道你在哪里,可能没有一个有效的位置; 从一个多(弱)卫星的待定计算可能足以让你低于50米的错误,在这一点上,你应该开始接受位置有效(你的应用程序可能要logging错误与坐标,然后位置可以显示一个圆代表不确定性)。

当开发人员希望确定购买最受欢迎的手机(因此您需要真正的硬件进行testing,并支持最多的客户),并购买带有希望Android应用程序控制的硬件的FEW手机 – 在你的情况下,购买不同的 GPS硬件手机,对于其他人可能需要购买几个不同的相机硬件(或WiFi芯片等)的手机。

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