geofire.removeLocation(key)不删除位置

时间:2019-05-24 09:39:13

标签: java android firebase-realtime-database geofire

我正在尝试从Firebase数据库中删除用户位置,但在我致电时不会删除密钥

此代码在服务中。

geofire.removeLocation(uniqueID);

UniqueId是这样生成的

   static String uniqueID = UUID.randomUUID().toString();;

LocationCallBack将位置发送到Firebase数据库

    LocationCallback mLocationRequestCallback = new LocationCallback(){
        @Override
        public void onLocationResult(LocationResult locationResult) {
            for(Location location : locationResult.getLocations()){
                mLastLocation = location;
                DatabaseReference userRef = FirebaseDatabase.getInstance().getReference().child("usersAvailable").child("Users");

                GeoFire geoFire = new GeoFire(userRef);
                geoFire.setLocation(uniqueID,new GeoLocation(mLastLocation.getLongitude(),mLastLocation.getLatitude()));
                Log.d(TAG,uniqueID);
            }
        }
    };

我尝试对密钥进行硬编码,并且确实起作用。 我已经添加了一个完成监听器,以检查它是否确实删除了,并且完成监听器仍在处理,但是仍然没有删除密钥。

    @Override
    public void onDestroy() {
        super.onDestroy();
        mFusedLocationClient.removeLocationUpdates(mLocationRequestCallback);
        wakeLock.release();
        DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("userAvailable").child("Users");

        GeoFire geoFire = new GeoFire(ref);
        geoFire.removeLocation(uniqueID, new GeoFire.CompletionListener() {
            @Override
            public void onComplete(String key, DatabaseError error) {
                Log.d(TAG, "Removed Location Successfully: "+uniqueID);
                Log.e(TAG,key+"\n"+error);
            }
        });
    }

日志

D/GeoJobService: Removed Location Successfully: 63825afd-7710-4cd7-b799-7be049281862
E/GeoJobService: 63825afd-7710-4cd7-b799-7be049281862
    null

我在做什么错,找不到其他对我有帮助的帖子。

编辑

我已经添加了它,它仍然没有删除数据库中的密钥。

 DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("userAvailable").child("Users");
        ref.child(uniqueID).removeValue();

0 个答案:

没有答案