我正在开发一个使用LocationManager.GPS_PROVIDER来请求位置更新的应用。一切都在我的三星Galaxy S5上工作,但在模拟器中,我在调用requestLocationUpdates()时得到异常“java.lang.IllegalArgumentException:provider not exists:gps”。
GPS已在模拟器中启用(在“设置”和“Google设置”中)并且设置为“高精度”。
我尝试通过Android Studio的扩展模拟器控件设置位置,并使用命令行(telnet,geo fix lat lon alt)。
安装了最新的SDK工具(25.2.2 rc1),仿真器正在使用这些工具(“关于”显示仿真器版本25.2.2-3098464)。
感谢您的帮助
答案 0 :(得分:0)
我建议你只使用GenyMotion - 这是一个很好的模拟器,很容易做你想做的事情。您需要在免费版本中指定坐标。我不确定付费版本。链接是here。干杯
答案 1 :(得分:0)
我的模拟器使用的是API 19(与我的真实设备相同)。我刚刚尝试使用API 22创建一个新的,并且在这个模拟器中它确实有效。仍然不知道为什么它不能在其他仿真器上运行,所有系统映像/ SDK工具都已安装,所有内容似乎都配置正确。
答案 2 :(得分:0)
如果列出API19模拟器中提供的提供程序(getAllProviders),您会注意到gps不可用。 API22模拟器没有这个错误。