从广播师开始多个活动的多个实例



我想从BroadcastReceiver创建一个活动的多个实例,该活动包含一个AlertDialog,目前我为此目的使用以下代码:

 Intent intent = new Intent(this, MultipleInstanceActivity.calss);
 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 context.startActivity(intent);

和清单文件android:launchMode="standard"中,我认为这是FLAG_ACTIVITY_NEW_TASK导致android:launchMode="standard"更改为android:launchMode="singleInstance"之类的。我无法创建此活动的多个实例。我还尝试使用FLAG_ACTIVITY_MULTIPLE_TASK,但没有用。

我创建了一个PreferenceActivity,真正困扰我的是,当此PreferenceActivity打开时,我的应用程序会创建多个对话框,即在其上使用不同的数据进行多个实例。但是,当它不打开时,我的应用不会创建多个实例以说明,它不会打开另一个对话框。logcat没有发出任何警告或错误。

我的问题:

  1. 如何从BroadcastReceiver创建活动的多个实例?

  2. 有人可以向我解释第二种情况下发生了什么,PreferenceActivity一个,为什么会创建多个实例?

我遇到了与您在这里遇到的相同问题,我通过使用flag_activity_new_task和flag_activity_multiple_task解决了它。

Intent intent = new Intent(context, YourActivityClass.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
context.startActivity(intent);

希望这也对您有用。

最新更新