- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试向我的应用程序添加注销/注销功能。我正在关注这个 video在 youtube 上这样做。注销/注销功能工作正常,但在登录屏幕注销后我可以返回应用程序。我仍然没有尝试使用 onBackPressed()
方法。也许我可以努力防止后退 Action ,但我只是好奇为什么我的应用程序无法正常工作。
这是注销 fragment 代码
public class SignOutFragment extends Fragment {
private static final String TAG = "SignOutFragment";
//firebase
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
private ProgressBar mProgressBar;
private TextView tvSignout, tvSigningOut;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_signout, container, false);
tvSignout = (TextView) view.findViewById(R.id.tvConfirmSignout);
mProgressBar = (ProgressBar) view.findViewById(R.id.progressBar);
tvSigningOut = (TextView) view.findViewById(R.id.tvSigningOut);
Button btnConfirmSignout = (Button) view.findViewById(R.id.btnConfirmSignout);
mProgressBar.setVisibility(View.GONE);
tvSigningOut.setVisibility(View.GONE);
setupFirebaseAuth();
btnConfirmSignout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "onClick: attempting to sign out.");
mProgressBar.setVisibility(View.VISIBLE);
tvSigningOut.setVisibility(View.VISIBLE);
mAuth.signOut();
}
});
return view;
}
/*
------------------------------------ Firebase ---------------------------------------------
*/
private void setupFirebaseAuth(){
Log.d(TAG, "setupFirebaseAuth: setting up firebase auth.");
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid());
} else {
// User is signed out
Log.d(TAG, "onAuthStateChanged:signed_out");
Log.d(TAG, "onAuthStateChanged: navigating back to login screen.");
//Intent intent = new Intent(getActivity(), LoginActivity.class);
Intent intent = new Intent(getContext(),LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK| Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
getActivity().finish();
}
// ...
}
};
}
@Override
public void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
}
@Override
public void onStop() {
super.onStop();
if (mAuthListener != null) {
mAuth.removeAuthStateListener(mAuthListener);
}
}
}
最佳答案
我想建议像下面这样更改标志的顺序。
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
关于java - Android Studio - 如何修复使用 flag_activity_clear_task 后后退按钮仍然有效的问题 | flag_activity_new_task?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56732551/
将支持版本更新到 27.0.0 编译器后出现错误 找不到符号变量 FLAG_ACTIVITY_CLEAR_TASK。 Is this variable removed? What use instea
我对 FLAG_ACTIVITY_CLEAR_TASK 与 FLAG_ACTIVITY_NEW_TASK 的组合感到非常困惑。 FLAG_ACTIVITY_CLEAR_TASK 不是应该清除 TARG
我有两个应用 App-B 启动 App-A。如果用户从 App A 内部启动 App B,我会在 App-A 上调用完成,所以我没有问题。 如果用户从应用程序抽屉或长按主页按钮直接进入应用程序 B,那
我一直在测试 Intent 标志,但我需要澄清一些事情。我的抽屉导航中有两个项目,单击我执行此操作, Intent intent = new Intent(this, activityClazz);
背景 我需要在某些事件上启动一个 Activity (比如通知点击,但它可以是任何其他事件,甚至来自 broadcastReceiver),如果其他 Activity 正在运行,或者至少不提供,它也会
我正在尝试从 Activity A 开始 Activity B, Intent 设置为 Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLE
在我的 android 应用程序中,我需要使用 Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK设置我的 Intent 标
我正在使用以下内容发起一项新 Activity : Intent intent = new Intent(this, MyNewActivity.class); intent.addFlags(Int
从 Android 文档: FLAG_ACTIVITY_CLEAR_TASK If set in an Intent passed to Context.startActivity(), this f
我正在尝试向我的应用程序添加注销/注销功能。我正在关注这个 video在 youtube 上这样做。注销/注销功能工作正常,但在登录屏幕注销后我可以返回应用程序。我仍然没有尝试使用 onBackPre
我的应用程序有一个 Activity A,它触发 B,B 又触发 C。 Activity A 是在 list 文件中带有 intent 标志 android:noHistory="true"的启动器。
好吧,那是我的问题。 我需要,当用户按下返回底部时,删除所有打开的 Activity 的堆栈: @Override public void onBackPressed(){ Intent i
何时使用 android:noHistory 以及何时使用 Intent FLAG_ACTIVITY_CLEAR_TASK?在我的场景中,当我想从 Activity B 到 Activity C 时,
在 Android 中,如果您想清除当前的 Activity 堆栈并启动新的 Activity(例如,退出应用并启动登录 Activity),似乎有两种方法。 如果您的目标 API 级别高于 16,那
我在使用 kotlin 版本 1.3.41 的 kotlin 项目中遇到问题 Unresolved reference :我无法找出为什么会出现该问题?。我也降级了 kotlin 版本但没有效果。 当
我已经对 SO 进行了一些阅读和搜索,但找不到清除当前 Activity 堆栈的方法。我的应用程序的上下文是由后台服务/通知启动的 Activity 。 想象一下,我的应用程序允许您组织人员列表。几个
Intent intent = new Intent(LoginActivity.this, Profile.class); intent.setFlags(Intent.FLAG_ACTIVITY_
我有两个页面:1 - 商店列表2 - 过滤网 我想做 点击 Store List 的过滤器图标 = 启动过滤屏幕 点击过滤器屏幕的应用按钮 = 启动商店列表 按后退键我想转到主屏幕 在商店列表页面我想
我是一名优秀的程序员,十分优秀!