Geofence转换错误:
无效的过渡类型-1
geofencingEvent.getGeofenceTransition()
返回-1
而不是1
int geofenceTransition = geofencingEvent.getGeofenceTransition();
geofencingEvent.getGeofenceTransition()
必须返回分别为1
和2
的输入和退出值。
答案 0 :(得分:0)
在google文档中,我发现这句话与一种getGeofenceTransition()方法有关:“如果未为过渡警报生成fromIntent(Intent)中指定的意图,则返回-1;否则返回Geofence中定义的GEOFENCE_TRANSITION_标志值。”
这意味着您不会在onReceive()或onHandleWork()方法中收到的意图是为过渡警报生成的(退出,进入或停留)。
例如,该意图可以是在重启设备后生成的用于还原地理围栏的意图。(“ android.intent.action.BOOT_COMPLETED”)。
在onReceive()方法中接收到BOOT_COMPLETED意图的情况下,它将通过geofencingEvent.hasError()方法,而不会出现任何错误,但代码-1的地理围栏转换类型与以下任何一种都不匹配transition alerts(退出,进入或停留)。
在这种情况下,您需要像下面的示例一样单独处理:
indexPath