基本上我是在循环中从后台服务创建对话框窗口,这意味着将创建多个对话框实例。
喜欢这样:
for(int index = 0; index < list.size(); index++){
Intent intent=new Intent(getApplicationContext(), DialogActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(intent);
}
在AndroidManifest.xml中:
<activity
android:name=".DialogActivity"
android:label="Alert Dialog"
android:theme="@android:style/Theme.Dialog" >
</activity>
使用此代码,当服务定期运行时,它会一遍又一遍地创建对话框,从而创建一堆对话框。
我想要的是在创建新对话框之前关闭/关闭这些已创建的对话框,从后台服务但不能。
答案 0 :(得分:1)
在DialogActivity中根据此链接实现BroadcastReceiver:
How to close the activity from the service?
所以在循环之前你应该调用
sendBroadcast(new Intent(“xyz”));
应关闭上一循环中创建的所有活动。