কোনো ফেন্সের বর্তমান অবস্থা জানতে, FenceClient.queryFences() কল করুন এবং যে ফেন্সটির অবস্থা জানতে চান তার ফেন্স কী (key) পাস করুন।
নিম্নলিখিত উদাহরণটি একটি FenceStateMap পেতে FenceClient.queryFences() কল করে, এবং তারপর বর্তমান অবস্থা, পূর্ববর্তী অবস্থা, এবং বেড়াটি শেষবার আপডেট করার সময় দেখানোর জন্য একটি FenceState মান ফেরত দিতে সেই FenceStateMap ব্যবহার করে:
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;
}
});
}