Я хочу разобрать идентификатор маяка в своем коде, но я не знаю, как это сделать.
Вот мой код:
.onEnter(new Function1<ProximityZoneContext, Unit>() {
@Override
public Unit invoke(ProximityZoneContext proximityContext) {
beacon_data.onNext(proximityContext.getDeviceId());
//beacon_data.onComplete();
Log.d("BeaconOnEnter",proximityContext.getDeviceId());
return null;
}
})
.onExit(new Function1<ProximityZoneContext, Unit>() {
@Override
public Unit invoke(ProximityZoneContext proximityContext) {
Log.d("BeaconOnExit",proximityContext.getDeviceId());
return null;
}
})
.onContextChange(new Function1<Set<? extends ProximityZoneContext>, Unit>() {
@Override
public Unit invoke(Set<? extends ProximityZoneContext> proximityZoneContexts) {
/*Iterator<? extends ProximityZoneContext> iter = proximityZoneContexts.iterator();
while(iter.hasNext()){
Log.d("BeaconOnContext",iter.toString());
}*/
Log.d("BeaconOnContext",proximityZoneContexts.toString());
return null;
}
})
Это интерфейс ProximityZoneContext.
interface ProximityZoneContext {
val deviceId: String
val tag: String
val attachments: Map<String, String>}
А это EstimoteProximityZoneContext.
internal data class EstimoteProximityZoneContext(
override val deviceId: String,
override val tag: String,
override val attachments: Map<String, String>) : ProximityZoneContext
И это результат.
D / BeaconOnEnter: 96116cc225803b78ad43e6461dbd4125
D / BeaconOnContext: [EstimoteProximityZoneContext (DeviceId = 96116cc225803b78ad43e6461dbd4125, тег = monitoringexample-8й, вложение = {}), EstimoteProximityZoneContext (DeviceId = 45ccdc54e8f2c30f692f594c8ca7eb06, тег = monitoringexample-8й, вложение = {}), EstimoteProximityZoneContext(deviceId = 16791f300532ddf9032c92e11a9d1d38, тег = monitorexample-8mi, attachments = {})]
D / BeaconOnExit: 45ccdc54e8f2c30f692f594c8ca7eb06
1024 * I 1022
deviceId
IЯ пробовал много способов, но это не сработало.
onEnter, функция onExit может распечатать идентификатор с помощью функции getDeveiceId ().
Однако это не относится к onContextChange.
Как мне разобрать это?