是否可以从 Firebase 上的 Google 身份验证中获取名字和姓氏?
Is it possible to get first and last name from Google Authentication on Firebase?
在我的程序中,我在 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 并获取名字和姓氏的子字符串,但这似乎不起作用,因为我相信名字和姓氏中可能有多个空格。
如果有人能帮助我,那就太好了,
谢谢
正如 Doug 所说,显示名称是一种自由形式,您无法知道用户的名字或姓氏在哪里。但是,您可以使用以下方法,但我不保证它适用于所有名称。
String fullname = "Ilyasse Salama";
String[] parts = fullname.split("\s+");
String firstname = parts[0];
String lastname = parts[1];
在我的程序中,我在 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 并获取名字和姓氏的子字符串,但这似乎不起作用,因为我相信名字和姓氏中可能有多个空格。
如果有人能帮助我,那就太好了,
谢谢
正如 Doug 所说,显示名称是一种自由形式,您无法知道用户的名字或姓氏在哪里。但是,您可以使用以下方法,但我不保证它适用于所有名称。
String fullname = "Ilyasse Salama";
String[] parts = fullname.split("\s+");
String firstname = parts[0];
String lastname = parts[1];