我想知道,谷歌定位服务如何处理同一地理位置的多重注册?
我曾读到,在以下情况下,NEVER_EXPIRES地理位置将被删除:
只有在这种情况下。
所以,我在考虑如何克服这种情况,当电话是为前任。无意中重新启动。我想出了在应用程序重新启动时注册地理信息的方法。但是现在,我的问题是,在应用程序重新启动之间,地理位置还没有被移除,会发生什么呢?他们会被替换吗?例如,如果我注册相同的地理位置7x,相关的意图会被发射7倍还是仅仅一次?
谢谢你的建议和纠正!
发布于 2016-03-28 12:22:16
尽管如此,回答为时已晚,以免对某人有帮助:
所以,我在考虑如何克服这种情况,当电话是为前任。无意中重新启动。
您应该使用广播接收器,它将侦听: android.intent.action.BOOT_COMPLETED (处理重新启动)和android.location.PROVIDERS_CHANGED (处理loc打开/关闭)。
我想出了在应用程序重新启动时注册地理信息的方法。
不是的。如上文所述,尝试重新注册广播接收器中的所有地理位置。您可以启动一项服务,以便从上述广播接收器的onReceive重新注册地理位置。
但是现在,我的问题是,在应用程序重新启动之间,地理位置还没有被移除,会发生什么呢?他们会被替换吗?例如,如果我注册相同的地理位置7x,相关的意图会被发射7倍还是仅仅一次?
不管您注册了多少次地理信息,只要您使用相同的requestId,它都将被计算为单个地理位置。例如:
mGeofenceList.add(new Geofence.Builder()
// Set the request ID of the geofence. This is a string to identify this geofence.
.setRequestId(requestId)
.setCircularRegion(latPos, longPos, mRadius)
.setExpirationDuration(Geofence.NEVER_EXPIRE)
.setLoiteringDelay(LOITERING_DELAY)
.setTransitionTypes(Geofence.GEOFENCE_TRANSITION_DWELL)
.build()); https://stackoverflow.com/questions/23550057
复制相似问题