【问题标题】:GPS not working in emulatorGPS在模拟器中不起作用
【发布时间】:2017-01-19 14:55:33
【问题描述】:

我正在开发一个使用 LocationManager.GPS_PROVIDER 请求位置更新的应用。在我的三星 Galaxy S5 上一切正常,但在模拟器中调用 requestLocationUpdates() 时出现异常“java.lang.IllegalArgumentException: provider doesn't exist: gps”。

GPS 已在模拟器中启用(在“设置”和“Google 设置”中)并设置为“高精度”。

我尝试通过 Android Studio 的扩展模拟器控件设置位置,并使用命令行(telnet、geo fix lat lon alt)。

已安装最新的 SDK 工具 (25.2.2 rc1),并且模拟器正在使用这些工具(“关于”显示模拟器版本 25.2.2-3098464)。

感谢您的帮助

【问题讨论】:

    标签: android gps


    【解决方案1】:

    我建议您直接使用 GenyMotion - 这是一个不错的模拟器,可以轻松完成您想做的事情。您需要在免费版本中指定坐标。我不确定付费版本。链接是here。干杯

    【讨论】:

    • 我会试试看的。但是为什么这在股票模拟器中不起作用?顺便说一句,我的操作系统是 Linux Mint 18 x64。
    • @0ne_Up,我真的不知道为什么模拟器有时不能很好地使用位置。
    【解决方案2】:

    我的模拟器使用的是 API 19(与我的真实设备相同)。我刚刚尝试使用 API 22 创建一个新的,并且在这个模拟器中它确实有效。仍然不知道为什么它不能在其他模拟器上运行,所有系统映像/SDK 工具都已安装,并且一切似乎都已正确配置。

    【讨论】:

      【解决方案3】:

      如果您列出 API19 模拟器 (getAllProviders) 中可用的提供程序,您会注意到 gps 不可用。 API22 Emulator 没有这个错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-18
        • 2017-01-05
        • 2013-03-11
        • 2019-09-07
        • 2012-07-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多