Rod*_*tro 11 authentication android login titlebar android-activity
我正在开发和应用程序,用户必须先登录才能使用它.我自定义了标题栏并在其中放置了一个注销按钮,以便用户可以随时注销,并使用其他帐户登录.然后应用程序应再次显示登录活动.
这很好,但我的问题是后退按钮.当用户注销时,登录活动显示,但如果他按下,则应用程序返回上一页,使用户能够再次使用该活动,即使没有登录也是如此.
我通过onCreate()这种方式设置了所有活动:
public void onCreate(Bundle savedInstanceState) {
// Activity code
checkLogin();
}
Run Code Online (Sandbox Code Playgroud)
而且checkLogin():
if (GlobalContext.getCurrentUser() == null) {
Intent i = new Intent(this, LoginActivity.class);
startActivityForResult(i, GlobalContext.REQUEST_LOGIN);
}
Run Code Online (Sandbox Code Playgroud)
然而,这不应该像它应该的那样工作,我的应用程序有时会在我按下时崩溃,有时它会像我说的那样返回到之前的活动,有时它确实有效.
checkLogin()每次活动(重新)开始时,如何进行调用?
或者还有另一种更好的方法来做我想要的事情?
编辑:
基于@Gabriel的答案和SDK参考中的以下图表,我移动checkLogin()了onResume()方法而不是onCreate解决我的问题.

我的建议是将您添加checkLogin()到活动中onResume(),因为在onCreate()方法中检查它将导致仅在创建活动时调用登录1次.
甚至连击球都是将它移动到
onAttachToWindow()
Run Code Online (Sandbox Code Playgroud)
所以每次你的活动都会出现在前面.onAttachToWindow()将被调用并将检查登录.
| 归档时间: |
|
| 查看次数: |
6313 次 |
| 最近记录: |