问题标签 [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.
android - 如何从 IntentService 获取 FusedLocation
- 如何使用 IntentService 中的新FusedLocation API 检索当前位置?
- 我如何确保IntentService将接收 来自FusedLocation API的所有回调?即,如何同步获取位置对象?
android - ACCESS_COARSE_LOCATION 权限可在 Android 上提供手机信号塔精度
我正在requestLocationUpdates()
使用FusedLocationApi
. 我正在使用PRIORITY_BALANCED_POWER_ACCURACY。城市街区的精度对我来说很好。
当我请求ACCESS_FINE_LOCATION权限时,我得到了大约 100m 的精度,这非常适合GPS
关闭。因为我不需要 GPS 精度,但需要城市街区精度,我只想请求ACCESS_COARSE_LOCATION
许可。但是,当我请求ACCESS_COARSE_LOCATION
许可时,我得到了 2 公里的精度。似乎该设备不再使用Wifi
许可,而仅使用手机信号塔精度。
如何使用ACCESS_COARSE_LOCATION权限获得更好的精度?
注意:GPS
在我的测试设备上被禁用。
android - 融合位置提供者单例示例?
嗨,是否可以创建一个融合的位置提供程序单例,可用于从许多活动中获取最后一个位置?
此外,在连接和断开连接方面,我将如何在这些活动中维护一个 Google Api 客户端实例。
android - 如何使用 Fused Location Provider API 跟踪用户是否故意关闭位置
我已经使用 FusedLocation Provider API
来获取用户的当前位置。当用户打开位置时,一切正常。
但是如果他关闭了位置,我想向用户提供一条消息。关闭位置时,requestLocationUpdates
不调用onLocationChanged
方法。可能这是意料之中的,但我想知道关闭位置时会调用什么,以便我可以捕获它以通知用户。下面是我正在使用的代码(选自 Stackoverflow 中的一个示例,我丢失了该链接)。
android - Android FusedLocationproviderApi requestLocationUpdates未在深度睡眠模式下运行pendingIntent
从FusedLocationProviderApi
. 屏幕打开时,它正常且频繁地工作。
但是,当设备进入睡眠模式时,它不会调用 PendingIntent。如何在睡眠模式下不断获取更新?
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)?
android - 谷歌播放服务更新时默认接受“提高位置准确性”弹出窗口 [ROOT]
我有一个应用程序安装在出租车司机的电话中,用于跟踪出租车行驶的位置和距离。(手机已root,我们拥有手机的所有权限)。在我们应用程序的第一个实现中,我们使用 LocationManager.requestLocationUpdates 从 GPS 和网络提供商获取位置更新。由于我们需要捕捉出租车行驶的每一公里,我们在位置设置中启用了“高精度”模式。
出于两个原因,我们愿意迁移到 Fused-location-provider
- 出于某种原因(android 中的一个已知错误:https ://code.google.com/p/android/issues/detail?id= 57707)NETWORK_PROVIDER 不提供位置更新。
- 由于某种原因,设备突然失去 GPS 定位,并且在设备重新启动之前不会再次获得。
我们观察到 FusedLocationProvider 提供了更好的结果,并计划更改我们的应用程序以使用 FusedLocationProvider。现在的问题是 - 我们的设备有一个旧版本的 GooglePlayServices,它没有 LocationServices。我们有两个选择是
使用 LocationRequest 和 LocationClient 使用旧版本的 FusedLocationProvider。尽管它在户外提供了良好的结果(这是我们的主要要求),但即使启用了 wifi 并且网络信号良好(这似乎也是一个已知问题(位置更新),我们也没有在室内获得位置更新(根本没有)Fusion Location Provider APIs 声称不能在室内工作)。因此,我怀疑旧版本的 GooglePlayServices 和/或 FusedLocationProvider 中可能存在一些错误,这些错误将在以后的版本中得到修复。
更新所有手机上的 GooglePlayServices(通过无线安装 apk)并优先使用 LocationServices 获取高精度的位置更新。这种实现甚至在室内也能提供位置更新,这是我们所期望的——这里的问题是,当我在应用程序中请求位置更新时,我用 apk 更新 GooglePlayServices 时,它会打开 2 个弹出窗口,一个要求确认以提高位置准确性,另一个是打开谷歌应用程序使用我的位置的能力。即使我不接受第二个弹出窗口,它也可以正常工作,但如果我不接受第一个弹出窗口,它会将位置设置更改为“仅设备”模式(这意味着仅使用 GPS 提供程序)。
我们不能指望我们所有的驱动程序在弹出窗口显示时都接受它。我想知道是否有任何方法可以为第一个弹出窗口执行“默认接受”之类的操作,以便我的设备保持“高精度”模式。
我找到了一种禁用位置同意的解决方案,该解决方案是在位置设置中手动启用高精度模式时出现的。该解决方案适用于我们的旧应用程序,但更新后的 GooglePlayServices 无法正常工作。
任何实现这一点的方法——比如在设备外壳中执行命令、发出意图或修改 GooglePlayServices apk 本身对我来说都很好。
android - Android Fused LocationSettingsRequest 从 startResolutionForResult 中删除“从不”选项
a据此:
https://developers.google.com/android/reference/com/google/android/gms/location/SettingsApi
您可以检查是否满足位置要求,如果不满足则显示对话框,使用startResolutionForResult()
.
在该对话框中,您可以选择“ok”、“not this time”或“never”。
是否可以禁用“从不”选项?
谷歌地图官方应用已禁用该选项。
android - Android - 融合位置 API
当 google api 客户端连接时融合 Location Api //
但假设由于没有网络、没有 wifi 和没有 gps,客户端一直在检查位置。
那么有什么方法可以终止它...如果 onlocationchanged 在 1 分钟或这样的时间间隔内没有被调用?
android - 向 requestLocationUpdates intentService 发送额外信息会中断位置更新
我无法将PendingIntent
我传递给的字符串额外发送给LocationServices.FusedLocationApi.requestLocationUpdates(GoogleApiClient client, LocationRequest request, PendingIntent callbackIntent)
.
看来,我添加的额外用户名Intent
正在破坏requestLocationUpdates
试图移交给我的位置IntentService
作为intent.getParcelableExtra(FusedLocationProviderApi.KEY_LOCATION_CHANGED)
回报null
。
编辑
我尝试制作一个User
实现Parcelable
并将其作为额外的类:
而且我还尝试按照此错误报告https://code.google.com/p/android/issues/detail?id=81812Parcelable User
中的评论建议将内部放入:Bundle
在我的服务中:
然而,这些方法都没有任何区别。每当我在意图中添加任何额外内容时,更新发生时该位置永远不会添加到意图中。
我设置它IntentService
来处理位置更新:
当用户点击一个按钮时,startLocationUpdates
在我的主要活动中被调用:
主要活动类:
这一切都很好。当用户按下按钮时,toggleLocationUpdates
被调用,它调用LocationServices.FusedLocationApi.requestLocationUpdates
which call my LocationUpdateService
where I can get the location。
当我尝试在我的Intent
使用 Intent.putExtra(String, String) 上添加一个额外的字符串时,问题就来了:
主要活动类:
编辑 我将下一句作为陈述而不是问题开始:“我正在使用......”
我是否使用正确的方法向此位置更新处理发送一些额外的数据,IntentService
或者是否有更明智的方法来解决这个问题?
这是一个错误还是只是糟糕的文档?