0

Androidマニフェストファイルにブロードキャスト受信機を設定しています。ただし、何らかの条件が発生したときにダイアログを表示する必要があります。アプリケーションコンテキストはダイアログでは機能しないことを認識しており、アクティビティコンテキストで表示する必要があります。しかし、それを行っても、背景画面が黒くなり、現在のアクティビティがブロックされます。私はそれが起こらないようにしたい。既存の画面の上にポップアップtpオーバーレイが必要です。私が試したこと:

私が私から呼ぶ活動ではBroadcastReciever

getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);

活動のマニフェスト:

android:windowBackground="@android:color/transparent"
android:windowIsTranslucent="true"
android:windowAnimationStyle="@android:style/Animation.Translucent"

私は何が間違っているのですか?

4

3 に答える 3

1
startActivity()

と適用android:theme="@android:style/Theme.Dialog"

于 2012-12-11T10:47:36.160 に答える
0

これを行うには、アクティビティを開始する必要があります。BroadcastReceiversは、onReceiveが終了するとすぐに終了します。ダイアログをテーマにしたアクティビティを使用すると、ダイアログと同じ外観になります。

于 2012-12-11T10:45:21.710 に答える
0

これには、グローバルダイアログまたはスーパーダイアログと呼ばれるものが必要です

http://www.sherif.mobi/2011/08/creating-global-dialogs.htmlとこのビデオをチェックしてください

このためのソースコードはGithubでも入手できます

これがダイアログに関する懸念を解決することを願っています

于 2012-12-11T10:52:51.957 に答える