android中的注销功能
Posted
技术标签:
【中文标题】android中的注销功能【英文标题】:Logout functionality in android 【发布时间】:2011-11-23 09:43:38 【问题描述】:我正在制作一种社交网络应用程序。我正在其中实现注销功能。 在注销按钮上单击它应该导航到登录屏幕,但现在它正在导航到主页屏幕。我正在使用以下代码进行注销..
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.package.ACTION_LOGOUT");
registerReceiver(new BroadcastReceiver()
public void onReceive(Context context, Intent intent)
System.out.println("onReceive Log out in progress");
Intent intent1 = new Intent(getApplicationContext(), Login.class);
startActivity(intent1);
finish();
, intentFilter);
【问题讨论】:
【参考方案1】:只需将意图赋予您的登录活动并将标志置于意图中
inten1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
它将清除所有活动并导航到您的登录页面。
【讨论】:
我已经这样做了。它再次导航到主页而不是登录屏幕 那么你正在完成所有活动,同时导航到活动旁边,你需要检查你的代码,看看你开始活动时是否有完成()行。 通过 intnet= new Intent(getApplicationContext(),LoginActivity.class) 就可以了 现在真的很奇怪,你是在调用那个意图标志吗?我真的要看看代码......大声笑!!!!【参考方案2】:这是一个堆栈问题。你需要处理它。我发现的最佳解决方案是在您的应用运行时将单个活动保留在堆栈中,并且在注销时只有登录屏幕将在堆栈中,如果用户按下后退按钮,他将看到主屏幕。
【讨论】:
【参考方案3】:使用以下方式退出。
yourintent.setflag(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);
也许对你有帮助
【讨论】:
我也试过这个.. 但它再次导航到主页屏幕 嗨 ekjyot 当您从主页活动向前移动时完成您的主页。 嗨,ekjyot,我已经更新了我的答案,请尝试一下,我确定它有效【参考方案4】:对我有用的是使用某种全局方法在内部跟踪您的登录状态:
public boolean loggedin = false;
然后在所有活动中,如果您已注销,则覆盖 onResume() 和 finish():
@Override
public void onResume()
super.onResume();
if (!loggedin)
finish();
【讨论】:
【参考方案5】:首先对您的代码进行这些更改
Intent intent = new Intent(getApplicationContext(),Login.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
然后删除写在广播接收器中的 finish();。 祝你好运。
【讨论】:
【参考方案6】:试试这个:
Intent intent = new Intent(getApplicationContext(), Login.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
Toast.makeText(this, "Signed out", Toast.LENGTH_SHORT).show();
startActivity(intent);
finish();
【讨论】:
以上是关于android中的注销功能的主要内容,如果未能解决你的问题,请参考以下文章
android中的后退按钮打破nativescript-vue访问控制登录注销
如何从 google plus 帐户中注销 google plus 在 android 中的集成