非同期タスクの事前実行で進行状況ダイアログを開始していますが、ブロードキャストを取得し、ブロードキャストレシーバー内で時間のかかるアクションを実行しても、進行状況ダイアログが閉じられません。非同期タスクはブロードキャストレシーバーから独立しています。よろしくお願いします。どんな助けでも大歓迎です。
class disconnecting extends AsyncTask<String, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog.setMessage(context.getResources().getText(
R.string.disconnecting));
progressDialog.show();
}
@Override
protected Void doInBackground(String... params) {
CommunicationManager.getInstance().Disconnecting(
params[0]);
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
progressDialog.dismiss();
}
}
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String lostId = intent.getStringExtra("ID");
System.out.println("LOST ID" + lostId);
}
};
この問題はマルチタスクに関連していると思います。制御がブロードキャストレシーバーにある場合(レシーバーでより多くの時間が費やされている場合)、非同期タスクの進行状況ダイアログが閉じられません