我想从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没有发出任何警告或错误。
如何从BroadcastReceiver
创建多个活动实例?
有人可以解释我在第二种情况下发生了什么,PreferenceActivity
,为什么会创建多个实例?
答案 0 :(得分:2)
我遇到了与此处相同的问题,我使用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);
希望这也适合你。