在家庭活动后面的对话框

时间:2014-03-04 08:24:56

标签: android android-4.4-kitkat

我正在开发一款复杂的Android应用,发现了一个奇怪的问题。 当我启动活动以显示对话框时,会出现问题。

我尝试了什么

我试图搜索类似的问题(“家庭活动阻止的Android活动”等)但找不到。

由于我的应用程序的复杂性,我仍然找不到原因的最小表示 - 下面的描述部分不能用于重现问题。我认为这与问题密切相关。真正的原因可能是不同子系统之间的相互作用。

描述

活动由意图标志= FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP的服务启动,这确保它将是启动时的最顶层活动。在onCreate方法中,活动将其窗口标志设置为FLAG_SHOW_WHEN_LOCKED | FLAG_FULLSCREEN | FLAG_TURN_SCREEN_ON | FLAG_DISMISS_KEYGUARD,这确保即使屏幕被锁定,活动仍将显示。该对话框也已构建并显示在活动的onCreate方法中。

使用以下步骤在具有屏幕图案锁的Android手机上测试该应用程序:

  1. 启动应用。按主页按钮返回主页活动。从最近的应用列表中删除该应用。

  2. 按电源按钮关闭并锁定屏幕。

  3. 询问(通过GCM,具体)启动活动一次的服务。然后成功显示对话框。

  4. 请勿单击对话框上的任何按钮。再次锁定屏幕。

  5. 请求服务再次启动活动。这次对话框也会显示但会立即消失,显示屏幕图案锁定。

  6. 解锁模式锁定并显示奇怪的内容:对话框现在显示在主页活动后面。该对话框不响应触摸事件。它就像一个壁纸。

  7. Illustration of the screen when the problem occurs

    Android版似乎很重要

    这个问题似乎只影响了一些版本。它发生在Galaxy Nexus(Android 4.4.2)上,但没有出现在Galaxy Tab 3(Android 4.1)上。

1 个答案:

答案 0 :(得分:0)

意外地通过删除行来解决问题

android:theme="@android:style/Theme.Dialog"

包含来自AndroidManifest.xml的对话框的活动。

我不知道为什么它可以通过这种方式解决。