数据未发布在firebase数据库中

时间:2016-10-29 12:30:44

标签: android firebase firebase-realtime-database

我正在尝试在节点President下的firebase中保存新数据。我已经在该节点上设置了一些规则。

"President":{
  "$userId":{
    ".write": "auth != null && $userId === auth.uid",
      ".read": " auth.uid != null"
  }
},

在我的应用中

FirebaseAuth mFirebaseAuth = FirebaseAuth.getInstance();
FirebaseUser mFirebaseUser = mFirebaseAuth.getCurrentUser();
FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();

if(mFirebaseUser == null){

}else{
  String mUserId = mFirebaseUser.getUid();
  DatabaseReference vRef = mDatabase.getReference(MyFirebaseConstants.DATABASE_President);
  DatabaseReference newPresidentRef = vRef.child(mUserId).push();
  String presidentKey = newPresidentRef.getKey();

 President pres = new President()//POJO
  // other few setters

  pres.setId(visitorKey);
  newPresidentRef.setValue(pres).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception e) {
      MyLogger.d("failed to save "+e.getMessage());
    }
  }).addOnSuccessListener(new OnSuccessListener<Void>() {
    @Override
    public void onSuccess(Void aVoid) {
      MyLogger.d("succedded");
    }
  }).isSuccessful();

我的总裁pojo扩展了RealmObject并实现了Parcelable

然而,当我去我的firebase控制台时,我看不到任何数据。永远不会调用onSuccess(),永远不会调用onFailure()

1 个答案:

答案 0 :(得分:1)

问题是我在我的设备上限制了背景数据。因此数据未发布到firebase。

我还没有找到更好的方法来检测Android设备上的后台数据限制