我的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"
我做错了什么?
答案 0 :(得分:1)
startActivity()
并申请android:theme="@android:style/Theme.Dialog"
答案 1 :(得分:0)
您需要启动一个Activity才能执行此操作。当onReceive完成时,BroadcastReceivers将立即退出。如果您使用以对话框为主题的Activity,它将具有与对话框相同的外观。
答案 2 :(得分:0)
你需要一个名为Global或Super对话框的东西
请检查http://www.sherif.mobi/2011/08/creating-global-dialogs.html和此Video
您可以在Github
上获取此代码的源代码希望这能解决你对话题的关注