DialogActivity启动时隐藏MainActiviy

时间:2017-05-31 14:02:14

标签: java android

我使用firebird云消息传递在后台接收数据,然后会出现一个对话框(带有Theme.AppCompat.Dialog样式的新活动)。我的问题是每次在后台显示MainActivity的表面。是否可以隐藏MainActivity而不终止它?有人可能有个想法吗?

当我在MainActivity的Manifest中设置值时 android:noHistory="true" 我看起来不错,但通知是在应用程序历史记录中。这看起来很糟糕

我的意思是当活动在背景中,MainActivity仍然可见

Example Picture

2 个答案:

答案 0 :(得分:0)

当您将“活动”用作对话框时,您的MainActivity将保持在活动堆栈中处于暂停状态。但是,即使您使对话活动全屏,也不能保证MainActivity将保持活动状态。如果需要内存用于其他进程,操作系统可以随时终止活动。 This is stated on the Activity reference

相反,您可以尝试以下其中一种解决方案:

  1. 使用DialogFragment代替新活动
  2. 使用常规片段,在运行时添加片段,允许用户在对话框Fragment和Main片段之间切换。
  3. 使用FrameLayout,在同一主要活动布局中显示/隐藏对话框UI。

答案 1 :(得分:0)

我认为正在寻找这种方法

    /* When {@link #FLAG_DIM_BEHIND} is set, this is the amount of dimming
     * to apply.  Range is from 1.0 for completely opaque to 0.0 for no
     * dim.
     */
  

dialog.getWindow()。getAttributes()。dimAmount = 1f;