Java FirebaseAuth.getInstance().getUid()-它是如何工作的?

Java FirebaseAuth.getInstance().getUid()-它是如何工作的?,java,android,firebase,Java,Android,Firebase,关于这一点,我有三个问题: FirebaseAuth.getInstance().getUid() 根据规范,getInstance()返回FirebaseAuth的实例 类,但getUid不在此类中起作用。但它是有效的。怎么做 如果这是一个新用户,getUid似乎会生成唯一的ID,但是 规范中没有写。这个函数是如何工作的 它何时抛出异常或返回null 谢谢, 亚历克斯来自 公共抽象字符串getUid() 返回身份验证提供程序指定的用户标识符。 例如,如果此对象对应于Google用户,则返回

关于这一点,我有三个问题:

FirebaseAuth.getInstance().getUid()
  • 根据规范,getInstance()返回FirebaseAuth的实例 类,但getUid不在此类中起作用。但它是有效的。怎么做

  • 如果这是一个新用户,getUid似乎会生成唯一的ID,但是 规范中没有写。这个函数是如何工作的

  • 它何时抛出异常或返回null
  • 谢谢, 亚历克斯

    来自

    公共抽象字符串getUid() 返回身份验证提供程序指定的用户标识符。 例如,如果此对象对应于Google用户,则返回 谷歌用户ID。对于电话号码帐户,UID将是 E.164格式的标准化电话号码

    它何时抛出异常或返回null?

    这是在单例和方法
    getUid()
    中处理的,我找不到任何关于抛出的文档

    为了
    getUid()
    工作,您需要首先让当前用户登录以获取ID

    FirebaseAuth.getInstance().getCurrentUser().getUid();
    
    如果当前用户是!=null或仅使用AuthListener进行检查

    FirebaseAuth currentUser = FirebaseAuth.getInstance().getCurrentUser();
    
    if(currentUser != null)
      String uid = currentUser.getUid();
    

    FirebaseAuth.getInstance().getUid();-->这会奏效的。你可以试试@Gastón Saillén,但我不明白如果这个新用户是如何生成ID的@加斯托恩·赛伦