问题标签 [fusedlocationproviderclient]
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.
java - 无法在后台获取位置更新
我正在尝试开发一个应用程序,在该应用程序中,我正在获取用户位置更新,并且当用户到达某个位置时,我正在执行一些操作。为了获取位置更新,我使用以下代码。
我正在尝试在 locationlistener 的覆盖方法中捕获位置更改,如下所示:
当我在模拟器上尝试它时,它在前台和后台运行良好,并且在从最近的应用程序列表中删除应用程序之后,但问题是当我在真实设备上尝试它时,当我的应用程序在前台或后台打开但当我删除我的最近的应用程序中的应用程序没有显示吐司。当我从任何应用程序(例如在 googlemap、我的应用程序或任何其他应用程序中)打开地图时,即使我的应用程序不在最近的应用程序列表中,它也会显示 toast。因此,我可以说我的服务正在运行,即使我的应用被最近的应用杀死,但 locationmanager 无法获取位置更新。
我试图找出解决方案,并找到了使用 FusedLocationProviderClient 的建议。我也试过这个,但它也不起作用。因此,如果有人有解决方案,请提出建议。
使用 FusedLocationProviderClient
android - FusedLocationProviderClient 需要 5 秒进行更新,我每秒需要它
我正在使用FusedLocationProviderClient
在我的应用程序中获取位置更新。我正在LocationRequest
使用interval
of1 sec
和maxInterval
of创建,0.5 sec
但位置更新平均为6 sec
.
我正在 Nexus 5、Nexus 5x 和 Moto G(第 2 代)设备上对此进行测试。
我没有发现关于文档interval
或maxInterval
文档的任何限制,所以我假设它1 sec
至少应该提供更新。
另外,我正在从Foreground Services
.
请建议如何每秒获取更新位置更新,或者文档中提到的任何限制。
android - location.getAccuracy() 的奇怪和非常意外的问题
问题:
我已经尝试使用新FusedLocationProviderClient
的和已弃用FusedLocationApi
的在我的应用程序上使用Sony Xperia Z2和Huawei Honor 8接收位置更新。最初一切正常。然而,似乎在 x 数量的位置请求之后,准确 度数永远不会低于 10.0 使用location.getAccuracy(); // 10.0
我试过的:
卸载和重新安装应用程序没有区别。重启手机,同样的结果。是的,我有LocationRequest.PRIORITY_HIGH_ACCURACY
......没有不同的结果。
什么可能有效:
有没有恢复出厂设置。Whooppaa 突然间,我现在得到的数字低于 10.0,正如预期的那样,外面的情况很清楚。但为什么??
问题:
我怀疑系统在 x 次位置更新后限制了我的准确性(为了节省电池???)......你们怎么看?这里可能是什么问题?
编辑:
在手机上进行软件重置后,我的准确度数字再次低于 10。但是在 x 次位置更新后,准确度数再次限制为 10.0m。我应该说我的 GPS 被设计为一次最多可以在前台运行 3.5 小时。是的,我知道它正在耗尽电池电量。
android - FusedLocationProviderClient 始终为 null 并且 locationAvailability 通常为 false
我正在使用 jobScheduler 来获取后台位置更新。但是每次调度作业时,FusedLocationProviderClient 为空。这是为什么?我检查了 if(FusedLocationProviderClient == null) 条件,每次调度作业时,它下面的代码都会运行(这意味着 fusedLocationProviderClient 在初始化后为空。)请看下面的代码。此外,locationAvailability 通常是错误的,因此不会调用 onLocationResult 来给出空位置值。如何优化 FusedLocationProviderClient。还有一件事,fusedLocationProviderClient 是否总是为空,而 locationAvailability 是否与 false 相关?
上述代码中的日志值如下所示:
android - 使用 AlarmManager 定时更新位置
我目前正在使用in方法FusedLocationProviderClient
请求位置更新。创建活动后,注册为位置更新侦听器。但是位置更新仍然在晚上继续,因为我没有从接收器中删除位置更新,但我不需要在晚上更新,因为它们通常在家里。我想在晚上 10 点从接收器中删除更新,并在每天早上 6 点重新开始接收位置更新。我认为这就足够了,但我找不到处理这个问题的正确方法。我可以忽略接收器晚上的更新,但我认为这不是一个省电的解决方案。MainActivity
onCreate
BroadcastReceiver
AlarmManager
概括
requestLocationUpdates(...)
当用户第一次打开应用程序时请求位置更新并使用 BroadcastReceiver ( )在后台处理更新- 每天晚上 10 点从 BroadcastReceiver 中删除位置更新,因为应用程序不需要在晚上更新位置 (
removeLocationUpdates(...)
) - 在每天早上 6 点请求位置更新,因为应用程序需要在白天使用 BroadcastReceiver 在后台更新位置
android-location - 为了在 Android 中获得更准确的位置结果,使用 FusedLocationApi 和 FusedLocationProviderClient 哪个?
我打算开发一个处理用户当前位置的安卓应用程序。然后我注意到网上有两种类型的例子。一个使用FusedLocationApi
,另一个使用FusedLocationProviderClient
。第一个比第二个更容易使用。
我不明白它们之间的区别以及哪个更好用。
有人,请帮忙。
提前谢谢你的朋友。
android - LocationFusedAPI setMaxWaitTime 只工作一次
我有一个带有 LocationFused API 实现的简单应用程序:
当应用程序部署在设备上时,我应该期望每 60 秒收到一批位置,如 setMaxWaitTime 方法中指定的那样,但这仅在部署后第一次发生(我在 1 分钟后收到 7 个位置),然后我开始接收 1每 5 秒定位一次。
为什么 setMaxWaitTime 只工作一次?
google-api - Android FusedLocationClient 不请求新样本
如何强制 FusedLocationProviderClient 明确要求新位置?
几个月前,我升级了 FusedLocationProviderClient。从那以后,请求对新位置进行采样不会提供新位置。
当我获得请求位置时,即使相隔几秒钟,它也会让我获得具有相同时间戳的相同位置。
我使用模拟器和 GPX 记录我的轨迹,以便 GPS 读数始终可用。
但是,当我尝试从位置管理器请求位置时(并且对结果不做任何事情),它的效果要好得多。
结论:即使在高优先级模式下,FusedLocationProviderClient 也不会从操作系统请求新位置。但是,如果可以从外部获得新位置,它确实接受新位置。
问题是:当我现在需要一个新位置时,如何强制FusedLocationProviderClient 主动请求一个新位置?
locationlistener - 现在 FusedLocationApi 已被弃用,当我也有位置监听器时,如何实现 FusedLocationProvideClient?
我正在构建一个跟踪订单来源以交付包裹的类,我收到一条错误消息,指出FusedLocationProviderApi
已弃用,现在看来我必须FusedLocationProviderClient
改用,当我申请时,FusedLocationProviderApi
我还实现了LocationListener
a ConnectionCallback
,GoogleaApiClient
我想应该将其删除。
我怎么能在这里实现这个
android - FusedLocationProviderClient - 找不到类型或命名空间(错误)
很抱歉,如果这真的很简单(也未能在 Marshmallow 模拟器上安装 google play 服务,并且有点搞砸了!)。
我的目标是在 Visual Studio 2017 (15.6.3) 上的 Xamarin Android C# 项目中获取 GPS 数据。
我正在关注 Xamarin 位置服务演练(https://docs.microsoft.com/en-gb/xamarin/android/platform/maps-and-location/location#using-the-fused-location-provider)和源代码例子。我尝试过分别针对 Android 6.0(我的首选)以及 7.1 和 MonoAndroid6 和 MonoAndroid71。
我已经为 Xamarin.GooglePlayService.Location、.Maps 和所需的“基本”库(.Base、.Basement 和 .Tasks)安装了 NuGet 包 - 版本 32.961.0 和 42.1021.1(取决于目标)。
以下代码告诉我“找不到类型或命名空间名称'FusedLocationProviderClient'(您是否缺少 using 指令或程序集引用?”
我已经使用对象浏览器来探索这些库,甚至没有看到 FusedLocationProviderClient(只是 FusedLocationProviderApi - 我也在 SO 上阅读过的内容已被弃用......)。
我应该使用“旧”定位服务 API 来定位 6.0,还是我错过了其他东西?
非常感谢。