我正在开发一个基于用户位置的 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/