谷歌的新融合定位提供程序是否可以模拟位置?

4

是否有可能让FakeGPS等应用程序与新的融合位置提供程序(Google Play服务)一起工作?

我认为问题出在这里:

09-20 17:18:41.842  21753-21809/? W/LocationManager﹕ java.lang.IllegalArgumentException: Incomplete location object, missing timestamp or accuracy? Location[gps 32.899542,-100.165065 acc=1 et=?!? alt=65.0]
        at android.location.LocationManager.setTestProviderLocation(LocationManager.java:1218)
        at com.lexa.fakegps.FakeGPSProvider.run(FakeGPSProvider.java:75)

1
我认为这样的应用程序需要更新,以支持向LocationClient提供模拟位置,可以通过setMockMode()setMockLocation()实现。 - CommonsWare
1个回答

6
Fused Location Provider 只能使用 setMockMode() 和 setMockLocation() 提供的模拟位置。调用 android.location.LocationManager.setTestProviderLocation() 对 Fused Location Provider 生成的位置没有影响。
虽然 FakeGPS 对 Fused Location Provider 没有用处,但新的 Android 培训课程 Mock Locations: Testing Using Mock Locations 包括一个示例应用程序,可以将模拟位置注入到 Fused Location Provider 中。

1
注意:使用模拟位置进行测试的功能使用了已弃用的类LocationClient。 - Marian Paździoch
1
“Testing Using Mock Locations包含一个示例应用程序,它将虚拟位置注入到融合位置提供程序中。” 在哪里? - Marian Paździoch
他们已经改变了API。融合位置提供程序是Google Play服务的一部分。始终可能会发生变化!我写了原始文档,但已被删除,这让我相信他们又改变了一切。 - Joe Malin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接