当应用程序在后台运行时,我似乎无法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