当应用程序不在前台或被杀死时如何使地理围栏工作?
how to make geofence work when app is not in foreground or it is killed?
我正在开发一个应用程序,我必须在其中实现一项功能,即当用户输入具有特定半径的特定范围或位置时,例如在地理围栏中。然后它应该发送也在客户端应用程序中而不是 FCM 中的通知。我尝试了多种解决方案,但没有用。因为 Android O 。后台任务限制。如何在没有 Foreground 的情况下实现此功能,否则会显得很烦人?请如果有人有任何想法请回复。提前致谢。
客户端代码
geofencingClient.addGeofences( geoFencingReq(location!!.latitude,location.longitude,name), geofencePendingIntent)
待定意向 ->
val geofencePendingIntent: PendingIntent by lazy {
val intent = Intent(contextt, GeofenceTransitionsIntentService::class.java)
// We use FLAG_UPDATE_CURRENT so that we get the same pending intent back when calling
// addGeofences() and removeGeofences().
PendingIntent.getService(contextt, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
}
我已经更新了我使用的代码,但是当应用程序被杀死时它仍然无法工作。
通过使用 Google API 注册地理围栏,它们也会自动从后台调用。您可以在 com.google.android.gms.location
.
中找到它
GeofencingClient.addGeofences(GeofencingRequest, PendingIntent)
就是你所需要的。
我正在开发一个应用程序,我必须在其中实现一项功能,即当用户输入具有特定半径的特定范围或位置时,例如在地理围栏中。然后它应该发送也在客户端应用程序中而不是 FCM 中的通知。我尝试了多种解决方案,但没有用。因为 Android O 。后台任务限制。如何在没有 Foreground 的情况下实现此功能,否则会显得很烦人?请如果有人有任何想法请回复。提前致谢。
客户端代码
geofencingClient.addGeofences( geoFencingReq(location!!.latitude,location.longitude,name), geofencePendingIntent)
待定意向 ->
val geofencePendingIntent: PendingIntent by lazy {
val intent = Intent(contextt, GeofenceTransitionsIntentService::class.java)
// We use FLAG_UPDATE_CURRENT so that we get the same pending intent back when calling
// addGeofences() and removeGeofences().
PendingIntent.getService(contextt, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
}
我已经更新了我使用的代码,但是当应用程序被杀死时它仍然无法工作。
通过使用 Google API 注册地理围栏,它们也会自动从后台调用。您可以在 com.google.android.gms.location
.
GeofencingClient.addGeofences(GeofencingRequest, PendingIntent)
就是你所需要的。