卸载后,Awareness API Fence查询返回true

时间:2018-07-25 17:19:14

标签: android google-awareness

我正在使用意识API。我检查我的围栏是否处于活动状态。 Google代码已弃用,因此您可以看到我的问题和答案here。为了检查状态,我使用以下代码:

public static void isFencesActive(final Context context) {

        Awareness.getFenceClient(context).queryFences(FenceQueryRequest.forFences(Arrays.asList(DETECTION_FENCE_DRIVING, DETECTION_FENCE_DRIVING_STOP)))
                .addOnSuccessListener(new OnSuccessListener<FenceQueryResponse>() {

                    @Override
                    public void onSuccess(FenceQueryResponse fenceQueryResponse) {

                        FenceStateMap map = fenceQueryResponse.getFenceStateMap();
                        fenceCallBack.isRegistered(!map.getFenceKeys().isEmpty());

                    }
                })
                .addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {


                    }
                });
    }

但是有非常奇怪的行为。当我卸载我的应用程序然后再次安装(不更新)时,命令

map.getFenceKeys()

在卸载之前将所有已注册的栅栏给我。那怎么可能?

注意:如果我未注册围栏,该函数将按原样返回空字符串。

0 个答案:

没有答案