问题标签 [android-reactivelocation]

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 投票
1 回答
160 浏览

android - 如何使用 RxAndroid 将流正确拆分为 4 个操作?

我第一次尝试进入反应式编程。我正在使用适用于 Android 的ReactiveLocation库,并且我有 4 个文本视图需要在收到新位置时填充位置数据。

所以这是让我在每次位置更新时获得位置的代码:

我也有这个 Func 将位置拆分为 4 个字符串的数组:

最后我有这个动作来用文本填充 TextView:

我现在想要的是每次将此流拆分为 4 个视图,我知道对于一个视图,我将执行以下操作:

如何使用相同的流填充其他 3 个 TextView:LongitudeValue、tvLastUpdateValue、tvSpeedValue?

0 投票
1 回答
676 浏览

android - RXJava如何使可观察的继续onError

考虑以下示例:

在这里,我观察自动完成视图上的文本更改,并对其采取行动以使用Android-ReactiveLocation获取相关的地址建议。它工作得很好,直到 geocode observable 发生错误,导致 onError 在最终订阅者上被调用。自从发生此错误以来, WidgetObservable 将不再发出事件。

我该如何解决它,以便 onError 不会导致 Observable 停止发出文本更改事件,以便整个流程继续发生?

顺便说一句,我是 Reactive 编程和 RXJava 的新手,所以任何对我的代码的改进建议都会受到欢迎:)

0 投票
0 回答
208 浏览

android - 即使在 android marshmallow 中请求许可后,检索位置的代码也不会执行

我正在尝试使用库检索用户的当前位置。

该代码在 android M 以下版本中成功获取位置,但是当我在具有 Android Marshmallow 的设备上启动该应用程序时,这段代码甚至没有被执行!

我在 onCreate() 方法中编写了这段代码:

在 android marshmallow 设备上运行该应用程序时,我没有得到这个 toast:Toast.makeText(getBaseContext(), "User's location retrieved using library", Toast.LENGTH_SHORT).show();这意味着这个代码没有被执行!

在编写此代码之前,我已使用以下代码请求许可:

这是onRequestPermissionsResult()的代码:

onRequestPermissionResult()即使在's 的情况下,我也已经编写了位置检索代码PERMISSION_GRANTED,但是什么都没有发生,并且在 android marshmallow 版本中没有检索到任何位置!

请让我知道这里出了什么问题!

0 投票
1 回答
60 浏览

android - GPS 已打开,但代码仍未执行。请查看详情

我正在开发一个应用程序,我只想在启用 GPS 的情况下执行一段代码。

我正在使用这段代码检查 GPS:

现在,我像这样使用它:

问题是,即使在打开 GPS 之后,Snackbar仍然会弹出显示No location detected!消息,这意味着即使在 GPS 开启时,应该在 GPS 关闭时执行的代码也会被执行。

需要注意的另一件事是,当我在关闭应用程序后重新打开应用程序时,应该在 GPS 开启时执行的代码将毫无问题地执行。

这里出了什么问题?

请告诉我。

0 投票
1 回答
1178 浏览

android - 为什么'locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);' 无法在 android marshmallow 中检测 GPS 是否打开?

我正在开发一个应用程序,其中需要 GPS 来检测用户的当前位置并继续进行。所以,我正在使用这个代码:isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);检测 GPS 是否打开,如果它关闭,则提示用户打开它。这段代码可以完美地检测它是否关闭,但是当我打开 GPS 并尝试进一步进行时。上面的代码未能检测到 GPS 已打开,并再次提示用户打开 GPS,即使它已打开。

以下是我在打开 GPS 后尝试进一步进行的方式:

我已经在 onCreate() 方法中请求了许可:

所以,最重要的是,即使打开 GPS 并单击“重试”按钮,在 GPS 开启时应该执行的代码也没有被执行!

这里出了什么问题?

请告诉我。

0 投票
1 回答
43 浏览

android - 即使在所有条件都为真之后,某些代码也不会被执行。请查看详情

我正在开发一个应用程序并使用以下代码来获取用户的当前坐标(来自这个库):

问题是即使在所有条件都为真之后,这段代码有时甚至都不会被执行。请看下面的代码:

运行上面的代码后,由于这段代码的 toast 被显示:Toast.makeText(getBaseContext(), "called from btnRetryGpsEvents() - GPS available", Toast.LENGTH_SHORT).show();这意味着它正在被执行,但是它上面的 toast 即:Toast.makeText(getBaseContext(), "User's location retrieved using library for android M in btnRetryGpsEvents()", Toast.LENGTH_SHORT).show();没有显示,这意味着它没有被执行!

这怎么可能发生?这里怎么了???

请告诉我。

PS:这个问题只在Android M及以上出现。

0 投票
2 回答
279 浏览

android - 在 Android 中使用 RetroFit2 的 ReactiveLocationProvider 抛出 NetworkOnMainThread

下面的代码在 Android 上始终抛出 NetworkOnMainThread,调用尝试是获取位置并使用它通过 RetroFit 2 API 获取列表,这在其他情况下工作正常,ReactiveLocation 调用也是如此。

getLastKnownLocation() 工作正常,然后 RetroFit 包装器调用,在其他任何地方都有效,抛出 NetworkOnMainThreadException,我尝试了 0.9 和 0.10,当它们自己在单独的订阅中时,一切都很好。

预期的结果是 flatMap() 的结果在 io() 调度程序上运行,而不是在 mainThread() 上。

0 投票
1 回答
442 浏览

android - Android-ReactiveLocation:调用()未执行

我正在尝试使用mcharmas的 Android-ReactiveLocation

什么都没有发生,即它永远不会到达call方法。设备的位置信息已打开。使用 GPS 应用程序,我可以看到 GPS 正在工作。在Settings > Location > Recent location request中,我的应用在列表中排在第一位。没有错误消息。
我肯定错过了什么。它是什么?

我在应用程序 build.gradle 中包含 Reactive Location,如下所示:

我在 Google Play 上创建了一个 API 密钥并将其放入清单文件中:

在我项目的 gradle.properties 文件中,我添加了:

MainActivity.OnCreate():