问题标签 [fusedlocationproviderapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
7922 浏览

android - 不幸的是,MyApp 已停止 - logcat 中没有错误日志

每隔一段时间我就会得到:

不幸的是,MyApp 已停止。

如果您有一些日志,问题很容易解决,但在我的情况下,logcat 绝对没有错误消息(它有我的应用程序发布的正常消息,并且其他异常显示在那里,但不是这个导致这个app has stopped)。

我有机会解决这个问题吗?

好消息是我可以很容易地重现它,因此我试图将尽可能多的信息放到 logcat 中,然后调查发生了什么。

我已经启动并运行了 ACRA(其他异常被它捕获,但不是这个app has stopped)。

当它发生时,我的应用程序不可见,并且IntentService中发生了一些事情。我的应用程序正在跟踪地理围栏,并且app has stopped仅当我在手机设置中打开和关闭位置时才会在 HTC M8 上发生这种情况。我在不同的手机上进行了测试,但在 LG G3、Nexus 5、Moto G、LG Swift L9 上没有发生。

0 投票
1 回答
3475 浏览

android - 调用 requestLocationUpdates 后如何更改 FusedLocationApi 更新间隔

我正在使用 LocationServices.FusedLocationApi 以给定的时间间隔获取位置更新,该时间间隔是在传递给 requestLocationUpdates 的 LocationRequest 对象上设置的:

在侦听器开始接收位置更新后,我需要更改间隔的值。这样做的正确方法是什么?

0 投票
3 回答
1509 浏览

android - 融合位置提供程序 - 通过位移更新位置不起作用

我有一个 android 应用程序,它将从背景跟踪位置。我正在使用具有以下配置的融合位置 api

仅当设备移动时,我才需要位置更新。有时一切正常。但有时即使设备处于静止状态,我也会收到位置更新。

为什么会出现这个问题?如果我设置位移,我需要设置间隔和最快间隔吗?这个问题与谷歌播放服务版本有关吗?

0 投票
0 回答
525 浏览

android - 融合位置 api 从移动数据上的 onLocationChnaged 方法返回相同的位置

我正在获取当前位置的纬度和经度,但onLocationChanged在我正在使用PRIORITY_BALANCED_POWER_ACCURACY模式的移动数据上返回相同的位置。

请告诉我哪里行为不端这是我的代码

0 投票
0 回答
810 浏览

android - 使用 GoogleApiClient 的位置请求中 setInterval() 的功率影响

我试图了解在构造位置请求时通过增加 setInterval() 持续时间可以节省多少电量。我尝试了两种情况

  1. 使用 setInterval() 和 60000millis 的位置请求
  2. 使用 setInterval() 作为 500millis 的位置请求

在这两种情况下,当位置更新开始时,状态栏中都会出现一个 GPS 图标。但是request2返回的准确率比request1好。请解释内部发生的情况以及由此产生的电池影响

场景 1 的位置请求如下所示

0 投票
0 回答
493 浏览

android - FusedLocationProviderApi、PRIORITY_BALANCED_POWER_ACCURACY 和 GPS 使用情况

我正在创建一个应用程序,它通过前台服务中的 FusedLocationProviderApi 跟踪位置。

当我使用 PRIORITY_BALANCED_POWER_ACCURACY 创建 LocationRequest 并开始监听位置更新时,令我惊讶的是 GPS 启动(手机设置中的 Location 设置为高精度)。我几乎立即获得了位置(我猜是通过 wifi/蜂窝资源),但由于我在室内,我无法获得 GPS 定位,它只是不断尝试无休止......

即使我没有要求 PRIORITY_HIGH_ACCURACY,我也会因大量消耗电池而受到打击,并因使用 GPS 几分钟而受到指责。

  1. 有没有办法为 GPS 搜索设置超时(检测室内情况)?
  2. 是否可以在不自动触发 GPS 的情况下使用 FusedLocationProviderApi 获得一个不错的位置,还是我必须恢复到旧的位置 API?
  3. 我是否必须将每个 LocationRequest 限制为几分钟(setExpirationDuration)并创建一个新的以防止 GPS 电池耗尽?

[编辑]:我想我可能找到了另一个罪魁祸首。在应用程序的地图选项卡上,我设置了 setMyLocationEnabled(true),这似乎导致 GPS 突然爆发。我将进行更多实验并发布结果。我仍然对位置管理器如何决定在 GPS 修复尝试时足够多感兴趣。

提前致谢!

0 投票
1 回答
627 浏览

android - Android GPS 距离计算器 - 实时跳跃/漂移过滤

我们正在为印度的一家租车巨头构建基于 Android GPS 的距离计算器。当我们的司机在空闲时在封闭空间(商场等)等待和徘徊时,我们的 GPS 会不断地跳动。这导致在 1 小时内总距离增加 1-2 公里。如何减少这种情况?

这是我们的逻辑

  1. 注册到 FusedLocationProvider onLocationChange(LocationUpdateRequest - 更新间隔 - 7 秒,即每 7 秒期待一次定位)
  2. OnLocation 使用以下条件更改过滤噪声位置。

    第 1 步- 过滤精度 < 170 米的位置
    第 2 步- 如果速度超过 40 m/s(相当于 150 KMPH)或加速度超过 4 m/s^2(相当于 0-75 KMPH 在 5 秒内),则忽略它,因为真正的汽车很少超过这些速度,但 GPS 经常跳跃。
    第 3 步- 如果位置来自移动网络超过 5 分钟(即方位/航向 = 0),则开始忽略这些。

  3. 最后,如果该位置符合上述条件,则保存它们并增量计算距离。

即使在这一切之后,我们仍然经常遇到 GPS 跳跃的问题,因为我们的司机在等待期间往往会在封闭的空间(商场等)中等待和徘徊。这些跳跃会在 1 小时内使总距离增加 1-2 公里。如何过滤噪声并平滑数据?

有人可以提供建议吗?如果需要,可以共享 GPS 跳跃数据。

0 投票
0 回答
53 浏览

android - FusedLocaionAPI Searching GPS signal stops

I have a service that when it creates and starts, initiates prerequisites of using FusedLocationAPI . buildGoogleApiClient() and createLocationRequest() with parameters that initiated by my getConfig() method from database.

This solution works great and accurate with parameters like:

But I need to set interval up to 5 minutes. So when i set prameters like :

GPS behaves differently and after 30 seconds stops searching GPS and location notification that blinks, disappears.

And starts searching again after device locked and unlocked or this Service stops and starts again.

Here is my service. Please tell me why searching GPS stops right after 30 seconds.

Thanks in advanece.

}

0 投票
0 回答
202 浏览

android - Google Play 服务已过时。

我正在开发一个针对 Android API 版本的 Android 应用程序:17 --> 23我广泛使用 google play 服务来实现 2 个核心功能:

  1. GeoLoc:使用 FusedLocationApi
  2. 谷歌地图。

现在,我使用的是 google play services 版本8.1,它在所有设备上都可以正常工作,除了带有 Android 4.2 (API 17) 的设备向我显示消息:Google Play services out of date. Requires 7571000 but found 1015

是否有任何特定的谷歌播放服务版本我可以降级,以便能够对从 API 17 到 23 的所有 Android 版本使用 FusedLocation + Google 地图(带有基本回调)。

谢谢你。

0 投票
1 回答
1142 浏览

android - FusedLocationProvider 使用 intentservice 进行后台位置更新:当 pendingintent 添加了捆绑包时,位置更新不起作用

我一直在寻找这个问题的答案很长时间,似乎没有人有答案。

我正在尝试使用 Google 最新的 FusedLocationProviderAPI 订阅位置更新。我已经在线学习了教程,它通过不时获取我的位置然后使用由 requestLocationUpdates 触发的意图服务来工作。

继续前进,我尝试将对象“用户”的自定义类添加到我的意图服务。这个自定义类将允许我将位置上传到我的服务器以进行后台位置更新。

我添加自定义对象的方式是将bundle添加到intent中,然后将其添加到触发IntentService的pendingIntent中。不幸的是,一旦添加了 bundle,intentservice 就会立即损坏并返回 null。

这是我的代码,在我触发 IntentService 的 MainActivity 中:

正如你从上面看到的,我会在意图中添加一个包'b',它被添加到pendingIntent并触发LocationHandler类:

每当我尝试添加一个包时,位置将在 LocationHandler 类中返回 null,但如果我删除包,位置更新将恢复。

附上我的清单以防万一:

到目前为止,我只看到这里提出了类似的问题: Android FusedLocationProviderApi: Incoming intent has no LocationResult or LocationAvailability

这一直让我发疯。希望有人可以对此有所了解。

谢谢。