Android完成Activity并启动另一个

And*_*oid 24 stack android android-activity

我很好奇一件事.我怎样才能完成当前的活动并开始另一个活动.

示例:

MainActivity
    --(starts)--> LoginActivity
        --(if success, starts)--> SyncActivity
            --(if success start)--> MainActivity (with updated data).
Run Code Online (Sandbox Code Playgroud)

所以我想在成功同步后SyncActivity开始MainActivity,如果我按回按钮不返回SyncActivity或之前打开的任何其他活动SynActivity.

我试过这段代码:

Intent intent = new Intent(Synchronization.this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
this.finish();
Run Code Online (Sandbox Code Playgroud)

但它不能正常工作.任何想法如何使事情正常工作?

Zol*_*eas 52

使用

Intent intent = new Intent(SyncActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

  • 哦,强大的旗帜,你是如此未被发现......( - (21认同)
  • 请注意,当您没有显式调用`finish();``startActivity(intent);`之后不会调用`onDestroy()`生命周期方法. (3认同)