这是我的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){