如何使用Intent覆盖singleTask标志Android



我有一个在AndroidManifest.xml中声明的活动(A):

   <activity
      android:name="A"
      android:launchMode="singleTask">
  </activity>

我想从应用程序中的其他活动启动A并覆盖android:launchMode="singleTask"android:launch Mode="singleTop"

我该怎么做?提前谢谢。

对我有效的是完成当前活动并将启动活动发布到活动ui线程。

// get rid of this activity instance and start a new instance one
finish();
final Intent intent = new Intent(this, MyActivity.class);
runOnUiThread(new Runnable() {
    @Override
    public void run() {
        startActivity(intent);
    }
});

请参阅http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK

如果希望能够在现有任务中启动该Activity,则需要将launchMode更改回standardsingleTop。如果你将launchMode设置为singleTask,那么你就是在告诉Android,你不希望你的Activity被启动到现有任务中。能够推翻这一点将适得其反。这就是launchMode的全部意义!

最新更新