2012-07-16 104 views
12

我有一个Android 2.3.3的GPS导航应用程序,我一直在努力。我目前正在尝试通过DDMS通过GPX文件模拟位置。虽然这可以在android模拟器上找到完美的效果,但我无法使它在实际设备上工作。通过DDMS在Android设备上模拟模拟位置

我能够在“设备”选项卡下看到设备,但我无法发送任何模拟位置数据或GPX数据,因为“模拟控制”选项卡下的选项变灰。

我注意到,在计算器上前面的问题提的,这是不可能的,但标题为“使用DDMS”的谷歌文档 - http://developer.android.com/tools/debugging/ddms.html状态下(在页面的底部)

设置位置

如果您的应用程序依赖于手机的位置的手机,你可以有 DDMS发送设备或AVD一个模拟的位置。如果您想要测试应用程序的特定位置 的功能的不同方面而不实际移动,这非常有用。下面的地理定位数据 类型供您选择:

我只是想知道如何通过DDMS假定位数据发送到设备。 感谢您提前给予的帮助,我非常感谢。

+0

在开发者选项中的手机上,有一个配置可以接受模拟位置。我不知道你的手机是否有它,但如果是的话尝试启用它。 – Yury 2012-07-16 07:40:31

+0

@Yury:感谢您的及时回复。我设置了该配置以及ACCESS_MOCK_LOCATION权限。从我听到/读到它只允许你使用setTestProviderLocation(..)方法从应用程序本身创建模拟位置(我可能是错的) – Bilzac 2012-07-16 08:05:02

回答

10

Bilzac,你的理解是正确的。简而言之,Android的文档具有误导性。许多开发人员对此感到困惑。与文档建议相反,您无法加载gpx文件并将其发送到仿真器上的设备。

+1

你是绝对的。 – Bilzac 2012-10-02 17:06:21

+1

@Bilzac ...正确吗? – CodeReaper 2014-01-10 13:58:57

+0

@CodeReaper Oui :)。 – Bilzac 2014-01-22 22:33:37

4

如果您在设备上激活模拟位置,则可能。 比您的清单添加ACCESS_MOCK_LOCATION权限。

你现在可以编写你自己的MockLocationManager来生成mocj位置。

最简单的方法就是使用一个为你生成模拟命令的应用程序。 GPS Route Simulator工作得很好。可以将kml文件存储在SD卡上或定义自己的路由