Android锁屏小工具

psy*_*tik 74 android android-widget lockscreen

一些用户一直在问我的应用程序的Android锁屏小部件 - 我相信他们希望一个小部件保持在他们的锁定屏幕上,并允许他们与应用程序进行交互.

我找不到任何关于此的官方文档 - 我发现的唯一一个应用程序将带回主屏幕小部件并将它们放在锁定屏幕上.

有关构建真正的锁屏小部件的更多信息的任何线索?

Kev*_*oil 54

锁屏交互很困难.Android允许使用两个窗口标志(FLAG_SHOW_WHEN_LOCKED和FLAG_DISMISS_KEYGUARD)进行基本操作.FLAG_SHOW_WHEN_LOCKED的工作非常一致,即使启用了安全性,它也会显示在锁定屏幕的顶部(安全性未被绕过,您无法切换到另一个非FLAG_SHOW_WHEN_LOCKED窗口).

如果你只是在做一些临时的事情,比如在播放音乐或类似音乐的时候,你可能大部分时间都没事.如果您正在尝试创建自定义锁定屏幕,那么在所有不同的Android平台上会有很多不寻常的交互.("帮助!我无法在不重新启动HTC手机的情况下关闭闹钟").

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
Run Code Online (Sandbox Code Playgroud)

http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html

FLAG_SHOW_WHEN_LOCKED
Run Code Online (Sandbox Code Playgroud)

窗口标志:在屏幕锁定时显示窗口的特殊标志.

FLAG_DISMISS_KEYGUARD
Run Code Online (Sandbox Code Playgroud)

窗口标志:设置窗口时,只有当它不是安全锁定键盘锁时才会解除键盘锁定.因为安全性不需要这样的键盘锁,所以如果用户导航到另一个窗口,它将永远不会重新出现(与FLAG_SHOW_WHEN_LOCKED相反,后者只会暂时隐藏安全和非安全的键盘保护,但确保在用户移动到的时候再次出现另一个不隐藏它们的UI).如果键盘锁当前处于活动状态且安全(需要解锁图案),则用户在看到此窗口之前仍需要确认它,除非还设置了FLAG_SHOW_WHEN_LOCKED.常数值:4194304(0x00400000)

  • 您可以为SCREEN_OFF和/或SCREEN_ON注册广播接收器.SCREEN_OFF的优点是用户不一定会看到库存锁定屏幕,因为它已经在用户打开屏幕时全部设置.SCREEN_ON的优点是您可以检查KeyguardRestrictedInputMode,以便您知道库存锁定屏幕处于活动状态.有时屏幕会因其他原因而关闭,例如接近传感器. (11认同)
  • 不,这只能用于活动.在锁定屏幕上显示实际Android"App Widget"(http://developer.android.com/guide/topics/appwidgets/index.html)的唯一方法是通过像(免责声明,我的应用程序)WidgetLocker这样的程序.MixZing的"锁屏小部件"是一个活动,而不是"应用小工具". (6认同)
  • 谢谢@Kevin.这真的很有帮助.但是有一个问题,你怎么做才能在启用锁屏时启动活动,而不仅仅是在活动已经激活时继续显示屏幕是否被锁定? (2认同)

Bao*_* Le 28

官方锁定屏幕小部件文档在这里

  • +1:不幸的是它需要android 4.2及以上,我只有android 2.2 :-( (2认同)

mau*_*yat 10

我必须为我的项目实现一个锁屏小部件.在这个过程中,我积累了几个资源.

  1. 如果您要将应用程序放在锁定屏幕上,请先将其设为appwidget.您可以使用AppWidget该类来执行此操作.
  2. 现在,使用AppWidgetHostAndroid API中的类使您的锁定屏幕成为窗口小部件的主机.我不知道如何做这个部分,但有一些现有的实现,如mylockandroid(下面的链接).

资源

http://code.google.com/p/mylockforandroid/ (注意此代码适用于较早版本的Android.Android 4.2及更高版本内置了锁屏小部件支持)

http://mylockandroid.blogspot.com/2010/03/widget-lockscreen-beta-11-r2.html