当前位置: 首页 > 知识库问答 >
问题:

FusedLocationClient故障排除服务外场景

孙明德
2023-03-14

我目前能够在服务可用时接收位置更新,但如果服务不可用,我需要得到响应,以便我可以调用另一种方法来处理这种情况。从我收集到的信息来看,这是onLocationResult()和onLocation可用性()的仅有的两个方法,我必须使用请求位置更新()。我从onLocation可用性得到的响应似乎不是很准确,如果我实际上不在服务中,这个方法可能在一段时间内不会被fusedLocationClient调用。我的另一个问题是,如果没有结果,onLocationResult似乎不会让我知道,这在我的情况下非常有用。什么是最好的方法来知道,如果fhedLocationClient无法找到一个位置或目前正在服务?位置Availability.is位置可用()往往给我不可靠的答案是假的,即使我有服务...

    mFusedLocationClient.requestLocationUpdates(mLocationRequest, callback = new LocationCallback() {

                @Override
                public void onLocationResult(LocationResult locationResult) {
                    // do work here
                    onLocationChanged(locationResult.getLastLocation());}

                @Override
                public void onLocationAvailability(LocationAvailability locationAvailability) {

                }
            }, Looper.myLooper());
}

共有1个答案

耿运浩
2023-03-14

所以我找到的最佳解决方案是实现LocationListener并利用onStatusChanged()方法,该方法在用户退出服务时给出响应,然后在用户返回服务时给出响应。

 类似资料:
  • 12.8. SOAP 网络服务故障排除 是的,SOAP 网络服务的世界中也不总是欢乐和阳光。 有时候也会有故障。 正如你在本章中看到的,SOAP 牵扯了很多层面。 需要 HTTP 层,SOAP 需要向 HTTP 服务器发送 XML 文档并接收返回的 XML 文档。这样一来,你在 第 11 章 HTTP Web 服务 学到的差错技术在这里都有了用武之地。你可以 import httplib 并设置

  • 初始设置 在创建并启动新的 Serene 应用程序之后,不能显示登录页,而当你打开浏览器控制台,却得到一条错误消息:找不到 Template.LoginPanel: 你可能使用了无效的解决方案名称,如 MyProject.Something (包含点’.’)。 当项目以这种方式命名时,模板系统将不能定位模板。 请不要在解决方案名称中使用点符号(’.’),如果必须使用点符号,可在创建解决方案之后再重

  • 当使用 Gradle 时, 你肯定会碰到许多问题. 解决遇到的问题 如果你碰到了问题, 首先要确定你使用的是最新版本的 Gradle. 我们会经常发布新版本, 解决一些 bug 并加入新的功能. 所以你遇到的问题可能就在新版本里解决了. 如果你正在使用 Gradle Daemon, 先暂时关闭 daemon (你可以使用 switch —no-daemon 命令). 在第19章我们可以了解到更多关

  • 在Debian和Ubuntu上,当您安装标准的FreeRADIUS软件包时,FreeRADIUS服务器二进制文件称为freeradius而不是radiusd。 您可以创建将使用较慢服务器的ldap模块的命名实例。 然后,您可以使用冗余部分替换authorize部分中的ldap条目,该冗余部分首先使用快速LDAP服务器列出模块,然后使用较慢的部分使用ldap模块实例。 #ldap redundant

  • Mount 5 Error mount 5 错误通常是 MDS 服务器滞后或崩溃导致的。要确保至少有一个 MDS 是启动且运行的,集群也要处于 active+healthy 状态。 Mount 12 Error mount 12 错误显示 cannot allocate memory ,常见于 Ceph 客户端和 Ceph 存储集群版本不匹配。用以下命令检查版本: ceph -v 如果 Ceph

  • 从 Vert.x 3.4.0 开始,Vert.x 已经弃用 JGoups 实现,已经由 [infinispan]|(/clustering/Infinispan.md) 。不建议在生产或测试环境中使用 JGroups Cluster Manager 在构建工具中添加依赖即可: Maven(pom.xml) <dependency> <groupId>io.vertx</groupId> <