问题标签 [android-fusedlocation]

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 投票
1 回答
1564 浏览

android - 融合位置 API 在关闭谷歌地图后给出高度不准确的位置

我们的应用程序使用 Google Fused location API 每 3 分钟接收一次位置更新。位置请求设置如下——

  • 间隔 -3min
  • 最快间隔——1 min
  • 优先 -PRIORITY_BALANCED_POWER_ACCURACY

在正常运行的场景下,位置更新接收正常,定位精度还不错(20-25m左右)。

当 Maps 应用程序打开时,它接收到 GPS 位置,因此我们的应用程序也开始接收位置更新,这些更新基本上来自 GPS 收发器(我知道这是因为后续位置更新也有速度和高度值)。

现在关闭地图应用程序时会出现问题。我们的应用程序接收位置更新,但位置坐标不会改变,并且收到的每个后续更新都具有更高的准确度值。更新的准确度甚至可能达到 1000m,并且没有收到准确的位置。再次打开地图应用程序将使我们的应用程序再次收到准确和更新的位置。

这个问题也可能是特定于设备的,因为我在摩托罗拉 Moto G 上看到了这个问题,而不是在我的其他三星或 Karbonn 手机上看到了这个问题。

0 投票
3 回答
1197 浏览

android - 在服务运行时更改保险丝位置设置

嗨,我正在我的应用程序中集成位置服务。为此,我正在使用 Google 的 fuse 定位服务。

我的实现如下:

我想要实现的是当我的应用程序运行时我想更改LocationRequest.PRIORITY_BALANCED_POWER_ACCURACYLocationRequest.HIGH_ACCURACY,当应用程序在后台再次更改为PRIORITY_BALANCED_POWER_ACCURACY. 更新间隔也一样。如果应用程序正在运行,它应该经常更新位置,当它在后台时,它应该在一段时间后更新。

所以简而言之,这是一项服务,我想在服务运行时更改保险丝位置设置而不重新启动服务。

我完全可以让应用程序处于前台或后台。唯一的问题是切换优先级。

0 投票
1 回答
190 浏览

android - How to update time interval in fused location service depending on application being in foreground/background?

How to have two different location update interval in Fused location when app is in foreground (For example: 5 sec) and when app is in background (For example 5 minute)?

0 投票
1 回答
5570 浏览

android - 谷歌播放服务更新时默认接受“提高位置准确性”弹出窗口 [ROOT]

我有一个应用程序安装在出租车司机的电话中,用于跟踪出租车行驶的位置和距离。(手机已root,我们拥有手机的所有权限)。在我们应用程序的第一个实现中,我们使用 LocationManager.requestLocationUpdates 从 GPS 和网络提供商获取位置更新。由于我们需要捕捉出租车行驶的每一公里,我们在位置设置中启用了“高精度”模式。

出于两个原因,我们愿意迁移到 Fused-location-provider

  1. 出于某种原因(android 中的一个已知错误:https ://code.google.com/p/android/issues/detail?id= 57707)NETWORK_PROVIDER 不提供位置更新。
  2. 由于某种原因,设备突然失去 GPS 定位,并且在设备重新启动之前不会再次获得。

我们观察到 FusedLocationProvider 提供了更好的结果,并计划更改我们的应用程序以使用 FusedLocationProvider。现在的问题是 - 我们的设备有一个旧版本的 GooglePlayServices,它没有 LocationServices。我们有两个选择是

  1. 使用 LocationRequest 和 LocationClient 使用旧版本的 FusedLocationProvider。尽管它在户外提供了良好的结果(这是我们的主要要求),但即使启用了 wifi 并且网络信号良好(这似乎也是一个已知问题(位置更新),我们也没有在室内获得位置更新(根本没有)Fusion Location Provider APIs 声称不能在室内工作)。因此,我怀疑旧版本的 GooglePlayServices 和/或 FusedLocationProvider 中可能存在一些错误,这些错误将在以后的版本中得到修复。

  2. 更新所有手机上的 GooglePlayServices(通过无线安装 apk)并优先使用 LocationServices 获取高精度的位置更新。这种实现甚至在室内也能提供位置更新,这是我们所期望的——这里的问题是,当我在应用程序中请求位置更新时,我用 apk 更新 GooglePlayServices 时,它会打开 2 个弹出窗口,一个要求确认以提高位置准确性,另一个是打开谷歌应用程序使用我的位置的能力。即使我不接受第二个弹出窗口,它也可以正常工作,但如果我不接受第一个弹出窗口,它会将位置设置更改为“仅设备”模式(这意味着仅使用 GPS 提供程序)。

提高定位精度

允许谷歌应用使用位置的权限

我们不能指望我们所有的驱动程序在弹出窗口显示时都接受它。我想知道是否有任何方法可以为第一个弹出窗口执行“默认接受”之类的操作,以便我的设备保持“高精度”模式。

我找到了一种禁用位置同意的解决方案,该解决方案是在位置设置中手动启用高精度模式时出现的。该解决方案适用于我们的旧应用程序,但更新后的 GooglePlayServices 无法正常工作。

任何实现这一点的方法——比如在设备外壳中执行命令、发出意图或修改 GooglePlayServices apk 本身对我来说都很好。

0 投票
2 回答
831 浏览

android - 如何检查消耗大量电池的进程和服务

我创建了一个应用程序,它在某些设备中消耗 48% 的电池,这是电源管理任务最高的,但在某些设备中它是 5-6%,我一直在后台运行一个服务,它获取纬度和经度并发送如果用户登录,它在服务器上。但我也检查过从应用程序注销它仍然消耗 48%。

使用融合位置 api 获取纬度和经度。

所以请告诉我如何解决某些手机中的电池消耗问题以及如何检查哪个进程和服务正在耗尽电池。

0 投票
1 回答
1221 浏览

android - 最佳实践:在后台获取位置更新

开发一个在后台更新用户位置的android应用程序。现在,谷歌为此提供了两种方式:

  1. 通过 getlastlocation() 函数获取用户的最后位置。可以设置警报管理器,并在广播接收器和服务的帮助下,可以连续更新位置。 例如:

  2. 向融合位置提供者请求定期更新,如此处所示

除非用户这样做,否则哪种方式是在后台持续获取位置更新而不Android杀死后台服务的最佳方式?

0 投票
1 回答
91 浏览

android - 如何在同一项目中获得连续的位置(纬度和经度)以及位置地址?

我想显示 Lat 和 long 的持续更新以及 location address 。

我能够接收到连续的 lat/lng 但无法找到位置地址。

基本上,想将这两者结合起来: https ://developer.android.com/training/location/receive-location-updates.html

https://developer.android.com/training/location/display-address.html

我怎样才能做到这一点?

谢谢。

0 投票
1 回答
421 浏览

android - 位置侦听器在某些设备上工作时遇到问题,并且迁移到 FusedLocationListener 时遇到问题

我有以下代码可以获取设备的当前位置:

此代码工作正常,但在某些设备中无法正常工作,要使用此代码获得成功,我必须重新启动设备或关闭并重新打开活动,所以我想避免这个问题。

作为推荐这个堆栈溢出的原因,我试图迁移到 LocationFusedLocation 来解决这个问题,但是我在 java 类中添加 GooglePlayServicesClient 实现时遇到了一些问题,因为正如这个链接所说,这个库暂时被弃用了。那么……我该怎么办?还有其他方法吗?

0 投票
1 回答
288 浏览

android - 可以使用 Android 的 FusedLocationApi 获取新数据(确切的当前位置)吗?

假设我使用 FusedLocationApi 的 requestLocationUpdates 间隔为 5 分钟,所以我将有一个不会超过 5 分钟的缓存位置数据。

但是,例如,当用户按下按钮时,我想获取当前位置而不是要使用的缓存位置。我怎样才能做到这一点?

问题 1:有没有办法强制触发位置更新,所以我可以获得新的位置数据,而不是可能 5 分钟的旧数据?

问题 2:FusedLocationApi 有一个 getLastLocation 函数,我认为它也可能会提前 5 分钟。由于没有 getCurrentLocation 函数,我们如何实现这一点?

0 投票
1 回答
1374 浏览

android - Android 5.0 中的融合位置提供程序行为出乎意料

我正在尝试利用 android 融合位置提供程序使用PRIORITY_HIGH_ACCURACY每 30 分钟获取一次设备位置。令我惊讶的是,

当 GPS 被禁用时,我希望 API 能够利用网络提供商和传感器为我提供准确度不高的位置。但是,在这种情况下,API 返回的位置对于 Android 5.0 为 null

这种行为在 Android 4.0 中有所不同,它为我提供了准确度不高的位置,正如预期的那样。我找不到任何关于此的文档!有什么想法吗??

编辑:刚刚意识到,具有 Android 5.0 的设备没有 SIM 卡,这是否意味着如果没有 SIM 卡,融合位置提供商也不会考虑使用 WiFi 来寻找最佳位置?