Data not posted on firebase database

泄露秘密 提交于 2019-12-25 14:15:08

问题


I am trying to save new data in firebase under a node President. i have already set some rules on that node.

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

In my app

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();

my President pojo extends RealmObject and implements Parcelable

However when i go to my firebase console, i can't see any data. onSuccess() is never called and onFailure() is never called.


回答1:


The issue was that I had restricted background data on my device. therefore data was not posted to firebase.

I haven't yet found a better way to detect background data restriction on android device



来源:https://stackoverflow.com/questions/40319118/data-not-posted-on-firebase-database

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!