如何从服务关闭活动Theme.dialog?

时间:2014-12-24 12:54:38

标签: android android-service alertdialog

基本上我是在循环中从后台服务创建对话框窗口,这意味着将创建多个对话框实例。

喜欢这样:

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> 

使用此代码,当服务定期运行时,它会一遍又一遍地创建对话框,从而创建一堆对话框。

我想要的是在创建新对话框之前关闭/关闭这些已创建的对话框,从后台服务但不能。

1 个答案:

答案 0 :(得分:1)

在DialogActivity中根据此链接实现BroadcastReceiver:

How to close the activity from the service?

所以在循环之前你应该调用

sendBroadcast(new Intent(“xyz”));

应关闭上一循环中创建的所有活动。