android - Geofence Broadcast Receiver 未触发,但当我打开谷歌地图时,它有效

标签 android geolocation broadcastreceiver android-geofence

我正在开发一个基于用户位置的 Android 应用。

所以我正在使用“Geofence”进入/退出事件。

测试不容易。

因为要测试它,我应该搬出去或在某个地方。

所以我正在使用模拟器并设置虚拟位置信息(纬度/经度)。

无论如何,我在 here 中找到了有关此功能的一些信息.

所以我跟着它,使用广播接收器。

一开始是不行的。 但是,当我打开“谷歌地图”时,我的当前位置开始更改为我通过模拟器设置的位置。

那时我的广播接收器被触发了。

但是如果我不使用“谷歌地图”,什么也不会发生...

为什么?我该如何处理???

最佳答案

实际上,我的应用运行良好。

但我添加了一些新功能,但它与地理围栏无关。

更新后,地理围栏不起作用。

所以我检查了我的提交列表,发现了一些东西。

我更改了依赖库版本。

我没有找到根本原因,但是当我像下面这样回滚库版本时。

implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.android.gms:play-services-maps:16.1.0'
implementation 'androidx.core:core-ktx:1.2.0-alpha01'

现在,Geofence 在后台运行良好。

关于android - Geofence Broadcast Receiver 未触发,但当我打开谷歌地图时,它有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56807979/

相关文章:

android应用程序公开发布问题

android - 如何从代码中获取对 <include> 元素的引用?

android - TelephonyManager.getNetworkCountryIso() 究竟返回什么?

android - 通过 BroadcastReceiver 的短信接收器

java - 如何访问下载接收器中的本地文件名?

android - Google Cloud Messaging 向所有设备发送通知

java - 带有俄语网址的 ImageView

android - 向 BroadcastReceiver 发送附加信息

database - 哪个数据库用于为许多用户存储地理位置(坐标)并实时检查他们是否彼此接近?

javascript - 使用地理定位 API 计算我的速度 javascript