Android窗口小部件APP Widget

今天小博老师带大家了解一下Android窗口小部件App Widget。

AppWidget是应用程序窗口小部件,是微型的应用程序视图。可以被嵌入到其他应用程序中并接收周期性的更新。

AppWidgetProvider继承自BroadcastReceiver,它能接收widget相关的广播,例如widget 的更新、删除、开启和禁用等。

AppWidgetProviderInfo描述一个App Widget元数据,比如App Widget的布局,更新频率,以及AppWidgetProvider 类。这个应该在XML里定义。

默认情况下(即不设置android:widgetCategory属性),Android是将widget添加到 home screen 中。

但在Android 4.2中,若用户希望 widget 可以被添加到lock screen中,可以通过设置 widget 的 android:widgetCategory 属性包含keyguard来完成。

当你把widget 添加到lock screen中时,你可能对它进行定制化操作,以区别于添加到home screen中的情况。 你能够通过 getAppWidgetOptions() 来进行判断 widget 是被添加到lock screen中,还是home screen中。通过 getApplicationOptions() 获取 Bundle对象,然后读取 Bundle 的OPTION_APPWIDGET_HOST_CATEGORY值:若值为 WIDGET_CATEGORY_HOME_SCREEN, 则表示该 widget 被添加到home screen中; 若值为 WIDGET_CATEGORY_KEYGUARD,则表示该 widget 被添加到lock screen中。

另外,你应该为添加到lock screen中的 widget 单独使用一个layout,可以通过 android:initialKeyguardLayout 来指定。而 widget 添加到home screen中的layout则可以通过 android:initialLayout 来指定。

你可能感兴趣的:(Android窗口小部件APP Widget)