如何创建自定义锁屏小部件(我只想显示一个按钮)

时间:2014-05-15 15:41:36

标签: android android-intent

我需要允许用户在设备锁定时使用我的应用程序快速捕获图像。我认为用户最快的方式是通过锁定屏幕上的按钮/小部件来实现这一点 - 尽管我不确定如何构建它。

我发现的大多数参考文献都与音乐播放和RemoteControlClient的使用有关(可能只是Android 4.4?)。在它最基本的地方,我只是喜欢一个按钮,然后说#34;捕获"。有关如何执行此操作的任何帮助吗?

1 个答案:

答案 0 :(得分:12)

API级别

锁屏小部件在API 17(4.2)中引入,并在API 21(5.0)中删除。其他正式版本不支持它们。


基本小工具

我编写了一个简单的小部件作为演示教程 - 它包含了小部件所需的所有样板代码,而且其他内容很少:

我以这样的方式编写它,以便任何人都可以轻松删除“wifi”相关代码,并使其适应自己的小部件要求。它可能非常适合您查看,而且只需添加一个按钮就相对简单。


锁屏/键盘小工具

有两项更改可以使其作为锁定屏幕小部件使用:

  • 更新widgetCategory以包含keyguard
  • 添加initialKeyguardLayout

这些更改在./res/xml/widget_info.xml文件中完成,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:initialKeyguardLayout="@layout/widget"
    android:initialLayout="@layout/widget"
    android:minHeight="40dp"
    android:minWidth="250dp"
    android:updatePeriodMillis="0"
    android:widgetCategory="home_screen|keyguard" >
</appwidget-provider>

我不知道是否可以将相机集成到您自己的锁屏小部件中。点击锁定屏幕小部件通常需要用户在点击工作之前解锁设备。