2016-09-12 228 views
0

我正在开发一个使用LocationManager.GPS_PROVIDER来请求位置更新的应用程序。一切正在我的三星Galaxy S5上,但在模拟器中,当调用requestLocationUpdates()时,我得到异常“java.lang.IllegalArgumentException:provider does not exist:gps”。GPS不能在模拟器中工作

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

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

安装了最新的SDK工具(25.2.2 rc1),仿真器正在使用这些工具(“关于”显示仿真器版本25.2.2-3098464)。

感谢您的帮助

回答

0

我建议你只需使用GenyMotion - 这是一个很好的仿真器,并很容易做你想要做什么。您需要指定免费版本中的坐标。我不确定付费版本。链接是here。欢呼声

+0

我会试试看。但为什么这在股票模拟器中不起作用?顺便说一句,我的操作系统是Linux Mint 18 x64。 –

+0

@ 0ne_Up,我真的不知道为什么模拟器有时无法正常工作。 –

0

我的模拟器使用的是API 19(与我的真实设备相同)。我只是尝试使用API​​ 22创建一个新的模拟器,并且它可以工作。仍然不知道为什么它不能在另一个模拟器上工作,所有的系统映像/ SDK工具都已安装,并且所有东西似乎都已正确配置。

0

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

相关问题