gpt4 book ai didi

android - GeoFencing:BroadcastReceiver 无法触发

转载 作者:行者123 更新时间:2023-12-05 00:00:39 25 4
gpt4 key购买 nike

我尝试从 android 开发人员运行此应用程序:https://developer.android.com/codelabs/advanced-android-kotlin-training-geofencing?authuser=2#0

正在添加地理围栏,但未触发任何内容。我试过查看此页面:https://simpleinout.helpscoutdocs.com/article/232-my-geofences-arent-working-android但是我的手机好像没问题...

当我收到“添加了地理围栏”的日志时,如何不触发广播??。我的模拟器、Intent 或 broadcastReceiver 有问题吗??

广播接收者:

class GeofenceBroadcastReceiver : BroadcastReceiver() {

override fun onReceive(context: Context, intent: Intent) {
if (intent.action == ACTION_GEOFENCE_EVENT) {
val geofencingEvent = GeofencingEvent.fromIntent(intent)

if (geofencingEvent.h

Intent :

private val geofencePendingIntent: PendingIntent by lazy {
val intent = Intent(this, GeofenceBroadcastReceiver::class.java)
intent.action = ACTION_GEOFENCE_EVENT
PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
}

添加地理围栏:

addOnCompleteListener {
// Add the new geofence request with the new geofence
geofencingClient.addGeofences(geofencingRequest, geofencePendingIntent)?.run {
addOnSuccessListener {
// Geofences added.

另外位置 ACCESS_BACKGROUND_LOCATION 和 ACCESS_FINE_LOCATION 是“始终允许”的

最佳答案

终于明白了。代码没有任何内容。在模拟器上测试是行不通的(至少对我来说不行,不能通过单击设置和更改位置的方式)

对我有用的是在真实设备上进行测试:

  • 转到开发者设置并启用模拟位置
  • 从应用商店下载 Lockito。
  • 返回开发者设置(模拟位置)并将应用设置为“lockito”。
  • 在 lockito 中设置任何你想要的路线,然后点击播放。

关于android - GeoFencing:BroadcastReceiver 无法触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70665948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com