【问题标题】:How to stop mainActivity(rootTask) after startActivity();如何在 startActivity() 之后停止 mainActivity(rootTask);
【发布时间】:2017-02-01 00:41:50
【问题描述】:

我的应用程序以 MainActivity.Java 开头,这意味着这是根任务。

我还有一项活动是 A。

当我用 startActivity() 去启动 A 活动时,我想停止 MainActivity(rootTask);

我不希望 MainActivity 在 A 类用完之前工作。

完成();不管用 意图标志不起作用 noHistory:不工作 startActivityForResult(intent, 0) 不工作

我该怎么办?

编辑

主要活动:

if (AccessToken.getCurrentAccessToken() == null) {
    Intent intent = new Intent(this, LoginActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}

System.out.println("test");

在这里,我想等一下。它不应显示“测试”。

登录活动:

LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
callbackManager = CallbackManager.Factory.create();
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
    @Override
    public void onSuccess(LoginResult loginResult) {
        Intent intent = new Intent(this, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    }

【问题讨论】:

  • 什么决定了“A类被耗尽”?

标签: java android


【解决方案1】:

请发布您的代码 如果您只是想完成当前活动并开始新活动,请这样做。完成必须工作。

startActivity(new Intent(CurrentAcitivity.this,NextActivity.class);
CurrentActivity.this.finish();

【讨论】:

  • 我编辑我的帖子@Ajay Shrestha。结束();不工作,因为 MainActivity 是 root。
  • 我没有看到你完成 MainActivity。没有理由这样做 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
  • 删除它们时没有任何变化@Ajay Shrestha
【解决方案2】:

MainActivityonStop() 方法应该被编码为停止你想要停止的事物

如果你这样做了,那么你可能还应该将启动该事物的逻辑放在onStart()中。

【讨论】:

    猜你喜欢
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    相关资源
    最近更新 更多