【发布时间】:2012-06-03 18:24:51
【问题描述】:
过去 2 天我一直在 SW、google 等网站上寻找。我正在寻找一种方法来实现原生 Android ICS 锁屏附带的活动,如下面的屏幕所示。 这些屏幕来自Player Pro,但我注意到其他播放器(例如PlayerPro)也具有相同的功能,看起来完全相同,这就是为什么我认为它是原生的,或者至少有一种通用的实现方式.
到目前为止,我只设法使用这些标志来获取替换锁屏的 Activity:
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKEDWindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
在这些事件中使用 BroadCaseReciever:
Intent.ACTION_SCREEN_ONIntent.ACTION_SCREEN_OFFIntent.ACTION_USER_PRESENT
我的问题是我希望我的活动显示为锁定屏幕而不是替换它。你们知道如何实现吗?
是否有本机隐藏的 API 来执行此操作?
你们能给我链接一些实现此特定功能的示例吗?
提前致谢;)
【问题讨论】:
-
查看这篇文章:stackoverflow.com/questions/4065201/… 但是,也许从 4.0 开始就有可能,否则 Player Pro 使用自己的 API
-
“它自己的 API”是什么意思?顺便说一句,其他播放器也具有相同的功能(例如 PowerAmp),所以我想这不是 PlayerPro 开发的东西。
-
它可能是一个对话框片段使用锁定标志时显示?编辑:似乎还有一个 FLAG_SPLIT_TOUCH 允许窗口外的触摸转移到该窗口,如果它有标志...似乎这两者的组合可以允许它
-
好吧,我试过了,但我无法让它工作,因为我无法显示来自 BroadCastReciever 的对话框,它给出了这个错误“BadTockenException: Unable to add window -- token null is不是为了申请”。你知道如何找回锁屏令牌吗?这将是解决方案。
-
我还尝试使用 Dialog 样式在我的活动中使用 FLAG_SPLIT_TOUCH,但它仍然不起作用,因为一旦我将“android:windowIsFloating”设置为 true,活动就会在锁屏后显示。没有它不会显示在锁屏的覆盖层中。其他想法?
标签: android lockscreen