是否可以从firebase上的google身份验证中获得名字和姓氏?

k5ifujac  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(424)

在我的程序中,我在firebase上使用google身份验证。但是,当我尝试仅检索名字时,我只看到可以使用.getdisplayname()获取显示名,它由整个名字和姓氏组成。我想知道有没有办法只知道名字。

int index = mAuth.getCurrentUser().getDisplayName().indexOf(" ");
        String first = mAuth.getCurrentUser().getDisplayName().substring(0, index);
        String last = mAuth.getCurrentUser().getDisplayName().substring(index + 1);
        Map<String, Object> user = new HashMap<>();

        user.put("first", first);
        user.put("last", last);
        user.put("uid", mAuth.getCurrentUser().getUid());
        user.put("email", mAuth.getCurrentUser().getEmail());
        user.put("phone", mAuth.getCurrentUser().getPhoneNumber());

我尝试使用index of并获取名字和姓氏的子字符串,但这似乎不起作用,因为我相信名字和姓氏中可能有多个空格。
如果有人能帮我,那就太好了,
谢谢您

m4pnthwp

m4pnthwp1#

正如doug所说,显示名是一种自由形式,您无法知道用户的名字或姓氏在哪里。但是,您可以使用以下方法,但我不能保证它适用于所有名称。

String fullname = "Ilyasse Salama";
String[] parts = fullname.split("\\s+");
String firstname = parts[0];
String lastname = parts[1];

相关问题