0

我正在开发一个需要位置更新的应用程序。所以我按照官方教程并在我的开发设备上运行该应用程序。GPS 已激活,一切正常,但永远不会调用 onLocationChanged()。
然后我在我的个人智能手机上运行该应用程序,一切都按预期工作。所以我开始思考我的开发和我的私人设备之间的区别。我的开发手机最显着的特点是:

  1. 没有 SIM 卡
  2. 没有关联 Google 帐户
  3. 没有可用的 WiFi => 没有互联网连接

3 号已经迫使我从镜像下载最新的 Google Play 服务 apk 并手动安装。我还需要做些什么来让我的开发手机使用定位服务吗?

我的开发设备的规格:
Samsung Galaxy S7
Android 7.0
Google Play services 10.2.99


编辑
正如@EugenPechanec 指出的那样,依靠GPS 只需要一个GPS 连接,所以在户外真的很有帮助。打开我私人手机的飞行模式并仅激活 GPS 导致我得到与开发设备相同的结果。把它放在窗边让我有了它的 1/3 次和开发设备的 0/3 次。所以这看起来很合法。非常感谢您在 GPS 上的提醒;)

4

2 回答 2

2

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

于 2017-04-11T09:10:02.463 回答
0

我在使用三星 Galaxy S7 时遇到了同样的问题,尝试使用 SIM 卡和不使用 SIM 卡,但问题仍然存在,所以当我遇到问题时打开谷歌地图,它显示更改提供程序以获得更好的准确性(高精度)。更改提供程序后,它工作得很好. 我们可以像谷歌地图一样关注同样的事情

于 2021-01-29T11:20:14.187 回答