我对此有3个问题:
FirebaseAuth.getInstance().getUid()
根据规范,getInstance()返回FirebaseAuth的实例
类,但getUid在此类中不起作用。但这有效。怎么样 ?
如果这是新用户,似乎getUid会生成唯一ID,但是
没有写在规范中。此功能如何工作?
什么时候抛出异常或返回null?
谢谢,
亚历克斯
最佳答案
从documentation
公共抽象字符串getUid()
返回认证提供者指定的用户标识符。
例如,如果此对象对应于Google用户,则返回
Google用户ID。对于电话号码帐户,UID为
E.164格式的标准化电话号码。
什么时候抛出异常或返回null?
这是在单例内部和方法getUid()
中处理的,我找不到有关抛出的任何文档
为了使getUid()
工作,您需要首先让当前用户登录以获得ID
FirebaseAuth.getInstance().getCurrentUser().getUid();
您可以通过先检查当前用户是否为!= null或仅使用AuthListener对其进行检查来防止null
FirebaseAuth currentUser = FirebaseAuth.getInstance().getCurrentUser();
if(currentUser != null)
String uid = currentUser.getUid();