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

当google play服务在应用程序和设备中不同时,使用fused location获取CurrentLocation 0

滕渝
2023-03-14

我正在尝试使用Fusedlocationservice获取当前位置。

在我的gradle文件中,我把下面的playservice版本

compile 'com.google.android.gms:play-services:9.4.0'

现在,如果在设备中有最新版本的谷歌playservice,那么它的工作很好。它提供了适当的位置。

但如果设备版本较低,则不会给出当前位置。

它也会在logcat中发出警告,如下所示:

W/GooglePlayServicesUtil: Google Play services out of date.  Requires 9452000 but found 6184738

所以必须在设备中安装最新版本的playservice才能获取当前位置。。?

如果是,那么我需要alternet解决方案。因为每个用户都无法更新设备中的服务。

你可以在这里看到我的代码。获取Marshmallow中的当前位置0,其中低于23的API使用fused Location给出确切的当前位置

任何帮助都将不胜感激。

共有3个答案

张照
2023-03-14

我在gradle中将google play服务版本改为7.3,而不是最新版本。

因为不是每个用户都有最新版本的播放服务,所以如果你把最新版本的播放服务放在应用程序中,如果设备有较低版本的播放服务,它总是取空位置。否则,用户必须更新播放服务以匹配应用程序播放服务版本。

所以我在应用中加入了playservice的较低版本。在每个版本相同或更高的设备中构建它的支持。

从医生那里得到了证明。https://developers.google.com/android/guides/setup#ensure_devices_have_the_google_play_services_apk

邵伟
2023-03-14

您可能需要查看此文档:确保设备具有Google Play services APK

正如Google Play服务概述中所述,Google Play通过Google Play商店应用程序为Android 2.3及更高版本的用户提供服务更新。但是,更新可能不会立即送达所有用户,因此在尝试执行API transactio之前,应用程序应该验证可用的版本

强烈建议您使用GoogleAppClient类访问Google Play services功能。这种方法允许您将OnConnectionFailedListener对象附加到客户端。要检测设备是否具有适当版本的Google Play services APK,请执行onConnectionFailed()回调方法。如果由于Google Play APK版本缺失或过期而导致连接失败,则回调会收到一个错误代码,例如SERVICE\u missingSERVICE\u version\u UPDATE\u REQUIRED,或SERVICE\u DISABLED。要了解有关如何构建客户端和处理此类连接错误的更多信息,请参阅访问谷歌API。

另一种方法是使用isGooglePlayServices可用()方法。您可以在主活动的onResume()方法中调用此方法。如果结果代码是SUCCESS,则Google Play服务APK是最新的,您可以继续建立连接。但是,如果结果代码是SERVICE_MISSINGSERVICE_VERSION_UPDATE_REQUIREDSERVICE_DISABLED,则用户需要安装更新。在这种情况下,调用getErrorDialog()方法并将结果错误代码传递给它。该方法返回您应该显示的对话框,该对话框提供有关错误的适当消息,并提供将用户带到谷歌应用商店安装更新的操作。

注意:由于很难预测每个设备的状态,因此在访问Google Play服务功能之前,您必须始终检查兼容的Google Play服务APK。

希望有帮助!

汪兴为
2023-03-14

据我所知,FusedLocation是在Play Service 7.0中添加的,你发布的是6184738 is 6.1。我想,你可以在这里查看所有的发布变更日志,所以它应该可以在Play services 7.0或更高版本的设备上运行

 类似资料:
  • 此链接正在解释与和。但没有解释同样的路线问题。所以我想问我的问题。 我用创建了react项目,并在文件夹中创建了服务器。我想在。所以我写了这样的代码。 公共/index.html src/服务器/server.js package.json 我测试, -- localhost:4000/代码 我想只是一个静态文件,每当。为什么不显示

  • 我想在我的LibGDX Android游戏中使用Google Play Game Services API的成就和排行榜。我所做的唯一一件事就是从游戏服务开发者网站上获取运行的示例。我已经尝试在我的项目中使用这段代码很多天了,但仍然一无所获。我也尝试过学习本教程http://helios.hud.ac.uk/u1070589/blog/?p=202但我没有“主游戏类(从ApplicationLis

  • 我试图在Mac上安装STS,但当我试图运行它时,我得到了这个错误: > OS X版本:Yosemite和10.9(我都试过了) sts版本:3.7.0(在sts网页上提供的最新版本) Java版本: java版本“1.6.0_32”OpenJDK运行时环境(IcedTea6 1.13.4)(RHEL-6.1.13.4.EL7_0-x86_64)OpenJDK 64位服务器VM(构建23.25-B0

  • 问题内容: 我正在用Java编写Web应用程序,并且该WAR应用程序可以部署到不同的应用程序服务器,例如Tomcat / JBoss / Jetty / Weblogic。 为了进行诊断,我想实现一个动态网页来收集各种环境/系统信息,以便客户可以提供这些信息以支持工程师进行诊断。 一条信息是有用的是应用程序服务器的名称和版本,此应用程序部署到,如,,,等。 我只是想知道是否有任何 标准方法 可以从

  • 我来自一个角度分明的世界,在那里我可以将逻辑提取到服务/工厂,并在控制器中使用它们。 我试图了解如何在React应用程序中实现相同的功能。 假设我有一个验证用户密码输入的组件(它的强度)。它的逻辑相当复杂,因此我不想将其写在组件中。 我应该在哪里写这个逻辑?在商店里,如果我使用flux?还是有更好的选择?