0

新しい を開始する放送受信機を設定しましたDialogActivityBroadcastReceiver直面する問題は、 がブロードキャストを受信するたびにDialogActivityが表示されますが、ホーム画面ではなくバックグラウンドで、Receiver を登録したアクティビティが表示され、その上にDialogActivity表示されることです。

以下はコードです:

@Override
public void onReceive(Context arg0, Intent i) {
Intent i1 = new Intent(arg0,AlarmDialog.class);
i1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
arg0.startActivity(i1);     //this leads to background as the old activity where I have initially registered the broadcast
}

また、ここでDialogActivityieを開始しているコンテキストarg0が終了すると、コンテキストが必要になるため、アプリは強制的に終了しDialogActivityます。

4

1 に答える 1

1

理想的には、ブロードキャスト レシーバーはダイアログを表示しないようにする必要があります。それらは通知を表示する必要があり、クリックするとダイアログ付きのアクティビティを表示できます。ただし、アクティビティなしでダイアログを表示したい場合は、ここに説明があります。

于 2013-10-06T16:10:00.800 に答える