2017-01-02 72 views

回答

1
  1. 要检查围栏被注册,使 FenceQueryRequest,并检查是否FenceStateMap包含篱笆关键。

下面是示例代码:

protected void queryFence(final String fenceKey) { 
    Awareness.FenceApi.queryFences(mGoogleApiClient, 
      FenceQueryRequest.forFences(Arrays.asList(fenceKey))) 
      .setResultCallback(new ResultCallback<FenceQueryResult>() { 
       @Override 
       public void onResult(@NonNull FenceQueryResult fenceQueryResult) { 
        if (!fenceQueryResult.getStatus().isSuccess()) { 
         Log.e(TAG, "Could not query fence: " + fenceKey); 
         return; 
        } 
        FenceStateMap map = fenceQueryResult.getFenceStateMap(); 
        if (!map.getFenceKeys().contains(fenceKey)) { 
         // Fence is not registered. 
        } 
       } 
      }); 
} 
  • 如果寄存器2个围栏具有相同围栏密钥,第二围栏将取代所述第一围栏。请参阅FenceUpdateRequest documentation
  • 相关问题