Rob*_*hof 7 android firebase-authentication firebase-realtime-database
我正在尝试使用来自a的Firebase数据库BroadcastReceiver来获取一些数据.不幸的是用户null有时候,这意味着我无法使用UID获取数据.
@Override
public void onReceive(final Context context, Intent intent) {
FirebaseAuth.getInstance().addAuthStateListener(new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if(user != null){
//sometimes not null
}else{
//sometimes null
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
也FirebaseAuth.getInstance().getCurrentUser就是null有时.而且,我没有在我的内部长时间操作broadcastreceiver.我正在谈论获取一个没有任何节点的opjes.
如何使用Firebase数据库BroadcastReceiver?
我想我明白了。问题不在于广播接收器,而在于 firebase 刷新令牌。那时用户是null. 像这样的事情有效:
@Override
public void onReceive(final Context context, Intent intent) {
FirebaseAuth.getInstance().addAuthStateListener(new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if(user != null){
FirebaseAuth.getInstance().removeAuthStateListener(this);
//do stuff
}else{
//do nothing
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2577 次 |
| 最近记录: |