无论活动屏幕如何,都在屏幕上显示AlertDialog

时间:2017-02-02 13:11:22

标签: android android-activity android-alertdialog android-immersive

我想显示一个Dialog,无论用户所在的屏幕是什么。假设用户是否打开应用程序,如果我收到服务器消息,我必须在对话框中显示它。同时可以选择自动登录。所以它可以移动到我的下一个活动。如果是这种情况,对话框不应该被关闭。它应该显示在新打开的活动而不是之前的活动。另一件事是,即使对话框显示我应该能够控制活动上的按钮。

这就是我正在做的事情。

  if(Activity1.mcontext!=null){
                                    CommonMethods.showDialog(sliderMessageText, 

                                    LoginActivity.mcontext,"activity1");
                                }
                                if(Activity2.context!=null){
                                    CommonMethods.showSliderMessageText(sliderMessageText, 

                                            Activity2.context,"activity2");
                                }
                                if(Activity3.mcontext!=null){
                                    CommonMethods.showSliderMessageText(sliderMessageText,Activity3.context,"activity3");
}

相反,我正在所有活动中显示对话框。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可能需要考虑使用事件驱动的模型,例如GreenRobot。

http://greenrobot.org/eventbus/

这样可以有效地处理您描述的场景。

或者,您可以使用LocalBroadcastManager在应用的不同部分之间进行通信。

例如,当您想要显示对话框并在所有活动中处理该消息时发送广播消息