在使用AppWidget有以下几个步骤:
(1)定义AppWidget布局,要注意它支持的布局和控件是有限的;
(2)进行AppWidget的配置,这个设置宽、高,更新频率等等,在xml目录下,根节点为appwidget-provider,如下:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="100dp"
android:minHeight="40dp"
//设置更新时间 毫秒单位
android:updatePeriodMillis="86400000"
//引用的布局文件
android:initialLayout="@layout/widget_layout"
>
</appwidget-provider>
(3)定义AppWidgetProvider,本质上这个AppWidgetProvider是一个广播,重写相关的onEnabled和onDisabled和onUpdate方法。
在其中启动服务之类的。别忘记了,广播需要在manifest文件中进行注册,注册如下:
<receiver android:name=".WidgetProvider">
<meta-data android:name="android.appwidget.provider" //Android系统定义的格式,不能更改,不能打错
android:resource="@xml/appwidget_info"></meta-data> //引用的在res/xml下创建的文件
<intent-filter> //这个是接收广播时的过滤器 Android定义的
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"></action>
</intent-filter>
</receiver>
(4)在相关启动的服务里面对,AppWidgetProvider进行更新,主要是操作RemoteViews。