【发布时间】:2014-09-15 06:32:17
【问题描述】:
在最新版本的 Android 应用上,Facebook 显示了锁屏通知功能,如下图所示:
有没有人尝试实现这个?
我知道在锁定屏幕上显示 Activity 很简单,但不幸的是它不适用于半透明背景。基本上它可以工作,但在我们的活动下方,我们看到的是启动器屏幕,而不是锁定屏幕(在这种情况下,锁定屏幕也是透明的)。
我现在尝试的是:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
在我的活动中。
我也试过这个例子:https://gist.github.com/daichan4649/5352944
正如我所描述的 - 一切正常,但没有透明度。
根据我的观察 Facebook 使用主题:
@android:style/Theme.Translucent.NoTitleBar
并且没有权限:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
我还注意到锁屏通知需要触摸,因此我们无法通过手势显示来自状态栏的通知。
关于如何在 Android L 发布之前创建这种通知的任何想法。
【问题讨论】:
-
创建一个带有背景图片(半透明)的活动怎么样?
-
同样 - 如果我使用半透明样式,我会在我的 Activity 下方看到启动器屏幕,而不是锁定屏幕。如果我不使用半透明,我在图像背景下方有黑色背景(来自窗口)。
-
我觉得它不可能在 vanilla android 上运行。它专门运行在运行 Android 4.4.2 和 Sense 6 的 HTC One M8 上。refer-techcrunch.com/2014/07/08/… 和 lifehacker.com/…
-
实现这一点的一种方法是实现自定义锁屏以显示通知。这是市场上许多应用程序正在做的事情。
-
我认为 Facebook 锁屏通知与设备和锁屏无关。我很确定我附加的屏幕显示的是带有香草 android 的 Nexus 5。我有 HTC M8 并看到相同的通知。
标签: android facebook notifications lockscreen