Android 更改Firestore规则后。我注销时出错

Android 更改Firestore规则后。我注销时出错,android,google-cloud-firestore,firebase-authentication,Android,Google Cloud Firestore,Firebase Authentication,因为我把Firestore规则改为 rules_version='2'; 服务云.firestore{ 匹配/databases/{database}/documents{ 匹配/{document=**}{ 允许读、写:if request.auth!=null; } } } 当我注销时,出现了这个错误 2020-05-03 15:53:01.337 28023-28023/com.wordpress.asayerbh E/AndroidRuntime:致命异常:main 进程:com.wo

因为我把Firestore规则改为

rules_version='2';
服务云.firestore{
匹配/databases/{database}/documents{
匹配/{document=**}{
允许读、写:if request.auth!=null;
}
}
}
当我注销时,出现了这个错误

2020-05-03 15:53:01.337 28023-28023/com.wordpress.asayerbh E/AndroidRuntime:致命异常:main
进程:com.wordpress.asayerbh,PID:28023
java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“boolean com.google.firebase.firestore.DocumentSnapshot.exists()”
位于com.wordpress.asayerbh.MainActivity.lambda$onCreate$0$MainActivity(MainActivity.java:111)
在com.wordpress.asayerbh.-$$Lambda$main活动$ar1zoayuiq5asr4dfsn0umdmmm.onEvent(未知来源:4)
在com.google.firebase.firestore.DocumentReference.lambda$addSnapshotListenerInternal$2(com.google.firebase:firebase-firestore@@21.4.3:482)
位于com.google.firebase.firestore.DocumentReference$$Lambda$3.onEvent(未知来源:6)
位于com.google.firebase.firestore.core.AsyncEventListener.lambda$onEvent$0(com.google.firebase:firebase-firestore@@21.4.3:42)
位于com.google.firebase.firestore.core.AsyncEventListener$$Lambda$1.run(未知来源:6)
位于android.os.Handler.handleCallback(Handler.java:873)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:193)
位于android.app.ActivityThread.main(ActivityThread.java:6669)
位于java.lang.reflect.Method.invoke(本机方法)
位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
这是我的主要活动代码,在导航抽屉标题中包含用户名

if(user.getDisplayName()==null | | user.getDisplayName().equals(“”){
DocumentReference=mStore.collection(“用户”).document(userID);
documentReference.addSnapshotListener(此,(documentSnapshot,e)->{
if(documentSnapshot.exists()){
nav_user.setText(documentSnapshot.getString(“fName”);
}否则{
Log.d(“标记”,“OneEvent:文档不存在”);
}
});
}

我到处找。我发现了有关文档快照的问题。并应删除以进行注销。怎么做?

我找到了这个解决方案
documentSnapshot!=null&&documentSnapshot.exists())

DocumentReference=mStore.collection(“用户”).document(userID);
documentReference.addSnapshotListener(此,(documentSnapshot,e)->{
如果(documentSnapshot!=null&&documentSnapshot.exists()){
nav_user.setText(documentSnapshot.getString(“fName”);
}否则{
Log.d(“标记”,“OneEvent:文档不存在”);
}
});