代码之家  ›  专栏  ›  技术社区  ›  psychotik

安卓锁屏小部件

  •  71
  • psychotik  · 技术社区  · 15 年前

    一些用户一直在问我我的应用程序的安卓锁屏小部件-我相信他们想要一个小部件留在他们的锁屏上,并允许他们与应用程序交互。

    我还没有找到任何官方文档-我发现的唯一的东西是应用程序,将主屏幕上的小部件,并把它们锁在屏幕上为你。

    有什么线索可以告诉我在哪里可以学到更多关于构建真正的锁屏小部件的知识吗?

    3 回复  |  直到 13 年前
        1
  •  54
  •   Community Mohan Dere    9 年前

    锁屏交互很困难。Android允许使用两个窗口标志(FLAG_SHOW_WHEN_LOCKED和FLAG_disside_KEYGUARD)进行基本操作。FLAG_SHOW_WHEN_LOCKED的工作非常一致,因为即使启用了安全性,它也会显示在锁定屏幕的顶部(安全性没有被绕过,您不能在锁定窗口时切换到另一个非FLAG_SHOW_)。

    如果你只是做一些临时的事情,比如在音乐播放或类似的时候,你可能基本上会没事的。如果你试图创建一个自定义的锁屏,那么在所有不同的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
    

    窗口标志: 只有在不安全的情况下 不需要安全,它会 如果用户导航,则从不重新显示 到另一个窗口(与 锁定时显示标志,这只会 不安全的钥匙锁,但要确保 另一个不隐藏它们的用户界面)。如果 键盘保护当前处于活动状态,并且 安全(需要解锁模式) 在看到这个窗口之前确认一下, 除非旗子在锁定时也显示 定值:4194304(0x00400000)

        2
  •  28
  •   Bao Le    13 年前
        3
  •  10
  •   imcdnzl    12 年前

    我不得不为我的项目实现一个锁屏小部件。在这个过程中,我积累了一些资源。

    1. 如果你有一个你想放在锁屏上的应用,首先 使其成为appwidget . 你可以使用 AppWidget
    2. 现在,使用 AppWidgetHost 从Android API到 让你的锁屏成为主机 mylockandroid公司 (以下链接)。

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

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