FirebaseAuth.getInstance()。getUid()-如何运作?

时间:2019-02-01 20:38:56

标签: java android firebase

我对此有3个问题:

FirebaseAuth.getInstance().getUid()
  1. 根据规范,getInstance()返回FirebaseAuth的实例 类,但getUid在此类中不起作用。但这有效。怎么样?

  2. 如果这是新用户,似乎getUid会生成唯一ID,但是 没有写在规范中。该功能如何工作?

  3. 何时引发异常或返回null?

谢谢, 亚历克斯

1 个答案:

答案 0 :(得分:1)

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