• Android窗口小部件APP Widget

    发布:51Code 时间: 2017-06-21 16:01

  • 今天小博老师带大家了解一下Android窗口小部件App Widget。 App Widget是应用程序窗口小部件,是微型的应用程序视图。可以被嵌入到其他应用程序中并接收周期性的更新。 AppWidgetProvider继承...

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

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

           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 来指定。

  • 上一篇:如何回答关于List和Set的问题

    下一篇:访问其他应用程序的Activity

网站导航
Copyright(C)51Code软件开发网 2003-2018 , 沪ICP备16012939号-1