【问题标题】:Is possible to mock locations with Google's new fused location provider?是否可以使用 Google 的新融合位置提供程序模拟位置?
【发布时间】:2013-09-26 09:22:30
【问题描述】:

是否可以让 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)

【问题讨论】:

  • 我认为此类应用需要更新以支持将模拟位置提供给 LocationClient via setMockMode()setMockLocation()

标签: android location location-provider


【解决方案1】:

Fused Location Provider 只能使用 setMockMode() 和 setMockLocation() 提供的模拟位置。调用 android.location.LocationManager.setTestProviderLocation() 对 Fused Location Provider 生成的位置没有影响。

尽管 FakeGPS 不会为 Fused Location Provider 做任何事情,但新的 Mock Locations Android 培训课程:Testing Using Mock Locations 包含一个示例应用,可将模拟位置注入 Fused Location Provider。

【讨论】:

  • 注意:“使用模拟位置进行测试”使用已弃用的类 LocationClient。
  • “使用模拟位置进行测试包括一个将模拟位置注入 Fused Location Provider 的示例应用程序。”在哪里?
  • 他们改变了 API。 Fused Location Provider 是 Google Play 服务的一部分。随时可能发生变化!我编写的原始文档已被删除,这让我相信他们(再次)改变了一切。
猜你喜欢
  • 2013-08-02
  • 1970-01-01
  • 2015-12-22
  • 2013-09-01
  • 2019-07-28
  • 2014-09-05
  • 1970-01-01
  • 1970-01-01
  • 2014-11-29
相关资源
最近更新 更多