应用在 运行 onActivityResult 后进入后台
App goes to the background after running onActivityResult
我正在使用 FirebaseUI 登录我的应用程序。从登录 activity 返回时,以下 onActivityResult
-覆盖打印 Here1-1
,这是预期的。但是,紧接着 activity 完成,这不是我想要的。我真的很迷茫,有人知道会发生什么吗?
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode,resultCode,data);
switch (requestCode) {
case RC_SIGN_IN:
if (resultCode == RESULT_CANCELED) {
finish();
} else {
System.out.println("Here" + Integer.toString(requestCode) + Integer.toString(resultCode));
}
case RC_START_APP:
if (resultCode == RESULT_LOGOUT) {
signout();
} else {
finish();
}
}
}
您的案例需要 break
来停止执行,这样它们就不会落入下一个案例。由于在第二个 RC_START_APP
案例中执行 finish()
,您的 activity 实际上刚刚完成。
switch (requestCode) {
case RC_SIGN_IN:
if (resultCode == RESULT_CANCELED) {
finish();
} else {
System.out.println("Here" + Integer.toString(requestCode) + Integer.toString(resultCode));
}
break; // add this break
case RC_START_APP:
if (resultCode == RESULT_LOGOUT) {
signout();
} else {
finish();
}
break; // add this break
}
我正在使用 FirebaseUI 登录我的应用程序。从登录 activity 返回时,以下 onActivityResult
-覆盖打印 Here1-1
,这是预期的。但是,紧接着 activity 完成,这不是我想要的。我真的很迷茫,有人知道会发生什么吗?
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode,resultCode,data);
switch (requestCode) {
case RC_SIGN_IN:
if (resultCode == RESULT_CANCELED) {
finish();
} else {
System.out.println("Here" + Integer.toString(requestCode) + Integer.toString(resultCode));
}
case RC_START_APP:
if (resultCode == RESULT_LOGOUT) {
signout();
} else {
finish();
}
}
}
您的案例需要 break
来停止执行,这样它们就不会落入下一个案例。由于在第二个 RC_START_APP
案例中执行 finish()
,您的 activity 实际上刚刚完成。
switch (requestCode) {
case RC_SIGN_IN:
if (resultCode == RESULT_CANCELED) {
finish();
} else {
System.out.println("Here" + Integer.toString(requestCode) + Integer.toString(resultCode));
}
break; // add this break
case RC_START_APP:
if (resultCode == RESULT_LOGOUT) {
signout();
} else {
finish();
}
break; // add this break
}