Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何检查围栏密钥是否已注册为Aware API?_Android_Google Awareness - Fatal编程技术网

Android 如何检查围栏密钥是否已注册为Aware API?

Android 如何检查围栏密钥是否已注册为Aware API?,android,google-awareness,Android,Google Awareness,我对谷歌宣传围栏API有两个问题: 我们是否有方法检查具有给定围栏密钥的围栏是否已注册 如果我不小心用同一个围栏密钥注册了2个围栏,会发生什么情况 要检查围栏是否已注册,请创建一个并检查FenceStateMap是否包含围栏密钥 下面是示例代码: protected void queryFence(final String fenceKey) { Awareness.FenceApi.queryFences(mGoogleApiClient, FenceQuery

我对谷歌宣传围栏API有两个问题:

  • 我们是否有方法检查具有给定围栏密钥的围栏是否已注册
  • 如果我不小心用同一个围栏密钥注册了2个围栏,会发生什么情况
  • 要检查围栏是否已注册,请创建一个并检查
    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. 
                        }
                    }
                });
    }
    
    protectedvoid queryFence(最终字符串fenceKey){
    意识。FenceApi。查询(mGoogleApiClient,
    FenceQueryRequest.forFences(Arrays.asList(fenceKey)))
    .setResultCallback(新的ResultCallback(){
    @凌驾
    public void onResult(@NonNull FenceQueryResult FenceQueryResult){
    如果(!fenceQueryResult.getStatus().isSuccess()){
    Log.e(标记“无法查询围栏:+fenceKey”);
    返回;
    }
    FenceStateMap=fenceQueryResult.getFenceStateMap();
    如果(!map.getFenceKeys().包含(fenceKey)){
    //围栏未注册。
    }
    }
    });
    }
    
  • 如果使用相同的围栏密钥注册两个围栏,则第二个围栏将替换第一个围栏。看