为什么firebaseuser.getdisplay名称即使不包含名称也会返回一些内容?



这是我的onStart方法,我想在用户更新其配置文件名称时打开活动

@Override
protected void onStart() {
super.onStart();
FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
if (firebaseUser != null) {
if (firebaseUser.getDisplayName() == null) {
startActivity(new Intent(WorkerMaps.this, FirstWorkerInformation.class));
finish();
}
}
}

首先,问题中没有任何地方提到你的实际问题。

因此,您的问题是,即使 displayName(( 不包含名称,它仍然返回一些不为 null 的内容。

因此,您可以为此做的是修改代码并按如下所示使用isBlank()

if (firebaseUser.getDisplayName() == null || firebaseUser.getDisplayName().isBlank()) {

现在,这将做什么,它还将检查您的displayName是否只包含空格而不包含字符,如果为 true,它将进入您的if范围。

您可以在此处阅读有关isBlank()的更多信息。

更新:由于isBlank()StringUtils的一部分,并且是 Apache 提供的单独库,因此您可以按照此处的答案导入该库。

但是,如果您不想使用单独的库,您也可以使用trim()从字符串的起点和终点删除空格:
" Name "->"Name"
" "->""所以,你可以

用它做什么,你可以检查它的长度,如果它是 0,那么它将像" "一样返回 true。您可以按以下方式执行此操作:

if (firebaseUser.getDisplayName() == null || firebaseUser.getDisplayName().trim().length() == 0){

相关内容

  • 没有找到相关文章

最新更新