首页 文章

Android锁屏小工具

提问于
浏览
71

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

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

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

3 回答

  • 10

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

    • 如果您要将应用程序放在锁定屏幕上,请先 make it an appwidget . 您可以使用 AppWidget 类来执行此操作 .

    • 现在,使用Android API中的 AppWidgetHost 类到 make your lock screen a host 作为小部件 . 我不知道如何做这个部分,但有一些现有的实现,如 mylockandroid (下面的链接) .


    资源

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

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

  • 53

    锁屏交互很困难 . 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);
    

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

    FLAG_SHOW_WHEN_LOCKED
    

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

    FLAG_DISMISS_KEYGUARD
    

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

  • 28

    官方锁定屏幕小部件文档是here

相关问题