3

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

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

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

我怎样才能做到这一点?提前致谢。

4

3 回答 3

0

对我有用的是完成当前活动并将开始活动发布到活动 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);
    }
});
于 2020-04-03T17:06:58.960 回答
-1

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

于 2014-04-18T12:46:23.160 回答
-1

如果您希望能够Activity在现有任务中启动它,那么您需要将launchModeback 更改为standardor singleTop。如果您将其设置为launchModesingleTask那么您就是在告诉 Android 您不希望您Activity被启动到现有任务中。能够覆盖它会适得其反。这就是重点launchMode

于 2016-12-30T15:41:52.113 回答