2017-04-11 72 views
0

我正在研究需要位置更新的应用程序。所以我跟着official tutorial在我的开发设备上运行应用程序。 GPS被激活,一切都应该工作,但onLocationChanged()永远不会被调用。
然后我在我的个人智能手机上运行应用程序,一切按预期工作。所以我开始考虑我的发展和我的私人设备之间的差异。我开发手机的最大特色是:设备未收到位置更新

  1. 没有SIM卡
  2. 没有谷歌帐户链接
  3. 没有WiFi可用=>没有互联网连接

3号已经逼我从镜像下载最新的Google Play服务apk并手动安装。有什么我必须做的,以使我的开发手机使用位置服务?我的开发设备的

规格:
三星Galaxy S7
的Android 7.0
谷歌Play服务,99年2月10日


编辑
作为@EugenPechanec指出,依靠GPS只需要一个GPS连接,所以在户外是非常有用的。打开我的私人电话的飞行模式并且只激活GPS使我获得与开发设备相同的结果。放置在窗户旁边,使我获得了1/3的位置和0/3倍的开发设备。所以这看起来很合理。非常感谢您对GPS的提醒;)

+0

您如何在没有关联Google帐户的情况下使用Google Play服务? – AlexTa

+0

@AlexTa我通过镜像apk安装它,然后在代码中使用它作为教程解释。据我了解,位置服务是手机中GPS硬件的接口,不需要互联网连接。所以不需要连接到Google服务器。但也许我错了? – EarlGrey

+1

@AlexTa Play服务实际上并不需要帐户。您只需要一个帐户即可访问Play商店并获得最新的Play服务。赶上22.如果你sideloaded最新的播放服务APK这不关心你。 –

回答

1

带有GPS的Android设备会检查网络连接是否可用。如果是这样,他们从A-GPS服务器下载数据并使用它来纠正GPS芯片的位置。如果没有,GPS芯片必须从GPS卫星下载数据,这非常慢并且需要很长时间,速率是每秒50比特。也许你的开发设备需要很长时间来更新位置。