Untuk membuat kueri status pagar saat ini, panggil
FenceClient.queryFences() dan teruskan kunci pagar untuk pagar yang akan dikueri.
Contoh berikut memanggil FenceClient.queryFences() untuk mendapatkan FenceStateMap,
lalu menggunakan FenceStateMap untuk menampilkan nilai
FenceState
guna menunjukkan status saat ini, status sebelumnya, dan waktu saat batas terakhir diperbarui:
protected void queryFence(final String fenceKey) {
Awareness.getFenceClient(this)
.queryFences(FenceQueryRequest.forFences(Arrays.asList(fenceKey)))
.addOnSuccessListener(new OnSuccessListener<FenceQueryResponse>() {
@Override
public void onSuccess(FenceQueryResponse response) {
FenceStateMap map = response.getFenceStateMap();
for (String fenceKey : map.getFenceKeys()) {
FenceState fenceState = map.getFenceState(fenceKey);
Log.i(TAG, "Fence " + fenceKey + ": "
+ fenceState.getCurrentState()
+ ", was="
+ fenceState.getPreviousState()
+ ", lastUpdateTime="
+ DATE_FORMAT.format(
new Date(fenceState.getLastFenceUpdateTimeMillis())));
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.e(TAG, "Could not query fence: " + fenceKey);
return;
}
});
}