地理围栏在后台接收广播

时间:2020-05-26 20:51:23

标签: android

当应用程序在后台运行时,我似乎无法Error: Can't subset columns that don't exist. x The column var1,var2,var3,var4,var5 doesn't exist.来获取地理围栏广播。我尝试了很多事情,包括提供前台服务。如果应用程序位于前台,或者从后台回到前台,则一切正常。即使应用程序在后台运行,即使运行前台服务,也无法及时调用BroadcastReceiver,尽管有时会在几分钟后被调用。我看了很多帖子,尝试了很多事情,但不确定为什么它不起作用,但是文档似乎声称如果应用程序正在运行前台服务,则应该可以工作。

这是我从应用程序启动的方式,

BroadcastReceiver

这是从服务中添加的地理围栏,

public void startGeofenceService() {
    Intent serviceIntent = new Intent(this, GeofenceForegroundService.class);
    ContextCompat.startForegroundService(this, serviceIntent);
    startService(serviceIntent);
    bindService(serviceIntent, mConnection, Context.BIND_AUTO_CREATE);
}

我只是使用public void onCreate() { super.onCreate(); createNotificationChannel(); Notification notification = foregroundNotification(); startForeground(1, notification); addGeofence(); } ,但随后尝试显式注册接收者,

PendingIntent

0 个答案:

没有答案