【发布时间】:2015-05-29 12:57:34
【问题描述】:
我一直在尝试使用 FLAG_SHOW_WHEN_LOCKED 和 FLAG_DISMISS_KEYGUARD 来在每次有人打开屏幕时显示一个活动。它在大多数情况下运行良好,但在某些情况下会导致奇怪的行为。当活动已经存在并且我在它被移回历史堆栈后使用 Home 按钮向它发送一个意图时,就会发生这种情况。
首先,如果我在 Activity 上按下 Home 按钮,然后关闭和打开屏幕,预计 Activity 会立即显示。然而,显示的是基本的安卓锁屏。我的活动落后了。
最糟糕的是,有时,如果我触摸主屏幕,然后关闭并打开屏幕,主屏幕覆盖(所有应用程序徽标和小部件)会在后台显示我的活动!
每次屏幕关闭时我使用的意图是 laucn 并召回活动:
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(intent);
所以,当我的活动在历史堆栈中时,似乎有时无法正确调用并绕过 android 锁屏。我的意图有问题吗?
【问题讨论】:
标签: android android-intent lockscreen