问题标签 [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.

0 投票
0 回答
54 浏览

location - 将 FakeGPS 与 FusedLocationProviderClient 一起使用的方法

我正在开发出租车应用程序,我需要测试位置更新。FakeGPS(或相同的小应用程序)提供它。

我实现了 GpsTracker 及其工作,但模拟位置不调用 locationcallback。

client.setMockMode(true)不要帮助我。

你能帮助我吗?

0 投票
0 回答
907 浏览

android-intent - 带有pendingIntent的fusedLocationProviderClient requestLocationUpdates不会触发

我正在尝试在后台运行位置跟踪器。为此,我读到我需要将pendingIntent 与fusedLocationProviderClient 一起使用,这样我的应用程序将继续每x 秒查询一次用户的位置,即使应用程序已最小化/关闭。

我正在使用来自此存储库的代码https://github.com/googlesamples/android-play-location/tree/master/LocationUpdatesPendingIntent/app/src/main/java/com/google/android/gms/location/sample/ locationupdatespendingintent

我的 mapActivity 在 kotlin 中。问题是,当我使用 pendingIntent 启动 fusedLocationProviderClient 时,我似乎无法触发任何位置更新(如果我使用回调在主线程中运行它会很好,但是,这会减慢我的手机速度)。

有谁知道如何让 fusedLocationProviderClient 在我的情况下与 pendingIntent 一起工作?

我曾尝试使用intent.setAction() 中的字符串,使用我的包名“com.russ.locationalarm”并在末尾附加“.action.PROCESS_UPDATES”。我是意图的新手,所以我不确定这是否是正确的字符串。我也尝试将 PendingIntent.GetService() 切换为 PendingIntent.getBroadCast(),但似乎都不起作用。

这是我启动 fusedLocationProviderClient 的函数:

这是我创建pendingIntent的地方:

这是我用来接收广播或服务的两种方法

我的预期结果是我将触发 onHandleIntent 或 onReceive 方法之一。相反,控制台在从 getPendingIntent 函数“获取待处理意图”后不会产生任何输出。mLLocationRequest 应该每 1 或 2 秒查询一次,并且它在早些时候使用 looper 和回调调用 fusedLocationProviderClient 工作,所以我知道不是这样。

0 投票
0 回答
141 浏览

android - Android 在应用加载时强制更新位置 - fusedlocationproviderclient

我面临一个问题,因为在加载另一个应用程序(例如 Google 地图)并触发位置更新之前,我无法在我的应用程序中获取任何位置信息。

为了解决这个问题,我想在 onCreate() 触发时开始位置更新,然后在收到位置时立即停止它。我在 onCreate() 方法中使用以下代码:

在此之后仍然没有存储任何位置,直到我运行谷歌地图。任何建议表示赞赏!

0 投票
0 回答
27 浏览

android - 位置在启动时始终为空

当我的应用程序启动时,我试图获取我的纬度和经度,但它总是空的。如果我出去再次打开应用程序,我就会得到位置。

我的代码是:

主要活动

latlang在单独的文件中定义为:

负责显示结果的片段是:

有人可以帮我把这个位置弄对吗?

0 投票
0 回答
52 浏览

android - Android FusedLocationProviderClient :稍微偏离位置

我们正在使用 FusedLocationProviderClient 在我们的应用程序中连续获取 GPS 位置。我们发现提供的位置稍微偏离(约 200 米)并延迟了约 15-20 秒。这会导致驾驶时出现问题。

代码片段如下。请让我知道我们可能做错了什么,感谢您帮助解决此问题。如果有更好的连续获取位置的方法,也请提出建议。

0 投票
1 回答
108 浏览

android - Android 设备稳定 - 仅在一个地方,但有时行驶公里数仍超过 2 公里

我正在开发一个应用程序,我正在使用FusedLocationProviderClient获取用户当前位置。类似于下面的代码。我无法理解为什么它将当前位置作为不同的位置,有时它距离当前位置2+KM并且设备只是在一个地方稳定

上面的代码在前台服务中......现在的问题是当用户设备稳定但在运行应用程序 5-6 小时后它返回不同的当前位置,即使设备在同一个地方(没有移动)

实际结果:它不应该给我用户行驶的任何公里。我通过用户计算旅行的 KM 类似于下面的代码

0 投票
1 回答
722 浏览

android - FusedLocationProviderClient 在哪里适合 Android 上的 MVVM?

我正在开发一个 Android 应用程序,我必须在用户启动应用程序时向他们显示天气数据。我正在遵循 MVVM 架构,并且在我实现的所有用例中都成功地遵循了 MVVM,包括向用户显示数据和操作设置屏幕的 SharedPreferences。我FusedLocationProviderClient用于获取用户的位置,但它需要Context实例化。在遵守 MVVM 架构的同时,处理这个问题的理想方法应该是什么?

我无法实例化它,ViewModel因为它会导致Context被传递给ViewModel从而导致潜在的内存泄漏。

目前,我正在使用FusedLocationProviderClient我的Fragment并从那里更新数据,但这是一种非常幼稚的方法,显然违反了 MVVM。

0 投票
1 回答
1919 浏览

android - com.google.android.gms.location.LocationCallback 是接口还是类?

我想使用此方法获取位置更新: FusedLocationProviderClient#requestLocationUpdates(LocationRequest locationRequest, LocationCallback locationCallback, Looper looper)

Stackoverflow 中实现此方法的大多数答案都必须覆盖 LocationCallback 方法。最近的一个例子可以在这个问题中找到

该问题的代码片段如下:

但是当我尝试像这样初始化 LocationCallback 时。我不会被 Android Studio 强制覆盖上述方法。当我检查 LocationCallback 类的源代码时,我发现它是普通的 java 类,并且存在 onLocationResult 方法,但这不是要覆盖的。 我的 Android Studio 中 LocationCallback 类的源代码截图

0 投票
1 回答
283 浏览

android - AAC - 如何避免在视图模型中引用活动

FusedLocationProviderClient我用来获取位置信息的需要引用活动或上下文。当我尝试在视图模型中实例化我的UserLocationService- 它实现FusedLocationProviderClient- 时,我必须传递对活动的引用。

我不想传递对视图模型的任何引用。在这种情况下,正确的方法是什么?我可以UserLocationService直接在片段中使用,但我的理解是,视图模型应该进行实例化和初始化。

0 投票
1 回答
467 浏览

android - FusedLocationProviderClient 无法通过 3G 或 4G 网络获取 GPS 位置,除非先连接到 WIFI 网络

我们的一个应用程序在商米的 T1 和 T2 mini 上运行。应用程序使用以下 LocationUtil 类发回设备的位置数据:

但是,似乎该应用程序仅在设备先连接到 WIFI 然后再切换回 3G 和 4G 时才能获取位置数据。首次连接到 3G 或 4G 网络时,设备不会发送任何位置数据。经测试,发现如下:

结果是 3G 的初始定位可以成功,但速度很慢。代码使用了GMS的融合定位方案。当设备通过记录请求位置信息时,设备很快就会得到基站的位置信息。GMS使用基站的位置信息来分析设备的经纬度。但是三分钟后,GMS 进程打印出没有位置的日志,而您的应用程序仍然没有位置信息。但过了一段时间,该应用程序能够从 4G 网络中获取信息。根据目前掌握的信息,怀疑是GMS向应用返回位置有问题

即使使用最新的google play服务,也无法提供位置