从我的应用程序中注销
Posted
技术标签:
【中文标题】从我的应用程序中注销【英文标题】:Logout from my application 【发布时间】:2011-10-25 00:17:43 【问题描述】:我设计了一个通过许多活动的应用程序。在每个页面中我都设置了注销按钮。单击注销时,我完成了当前活动并使用 FLAG_ACTIVITY_CLEAR_TOP 并启动登录活动。它可以工作,但是当我按下后退按钮时,它会加载我退出的最后一个活动。
在一些建议中,我发现每个活动都必须完成并开始下一个活动。但我不能这样做,因为当我按下后退按钮时,活动必须重新加载,但它必须从之前已经完成的活动中获取一些数据。
实际上我想做的是,我想从任何页面退出我的应用程序。请有任何建议。
【问题讨论】:
【参考方案1】:我还通过添加FLAG_ACTIVITY_NEW_TASK
来实现这一点,并且在我的androidManifest 中,我启动的活动也有android:launchMode="singleTop"
。不确定这是否是最好的方法,但它确实有效。
【讨论】:
【参考方案2】:也许您可以完成()您的活动并开始下一个活动。
对于后退按钮,您可以使用startActivityOnresult()
因此您应该从应用中的任何位置注销。
【讨论】:
【参考方案3】:您可能还希望在每个代码的onResume
中添加一个 sn-p 代码(或对实用程序方法的调用),以检查用户是否已登录(如果未登录,则将其转发到登录活动)你的活动。这将确保在没有登录的情况下无法使用任何活动 - 并且还有助于解决后退按钮问题。
【讨论】:
【参考方案4】:创建一个应用程序的子类,您的所有活动都属于该子类。在其中,维护用户注销时需要完成的活动的静态集合。在其 onCreate 方法中将需要完成的每个 Activity 添加到集合中。当用户注销时,遍历集合并在其中的每个 Activity 上调用 finish()。
【讨论】:
以上是关于从我的应用程序中注销的主要内容,如果未能解决你的问题,请参考以下文章
在用户注销时从我的应用程序中删除 facebook 会话 cookie
从我的应用程序中注销(使用 facebook android sdk 4.0 开发)并安装 facebook 原生应用程序