Widget的生命周期:
参考文档appWidget
1.当桌面上第一个widget被创建的时候:
onEnabled 当widget第一次被创建的时候调用. 非常适合做应用程序的初始化.
onReceive
onUpdate 当有新的widget被创建的时候 更新界面的操作. 当时间片(xml文件中的更新时间)到的时候 onupdate()调用.
onReceive
2.当第二个widget被创建的时候(第3个也是这样)
onUpdate
onReceive
3.从界面上移除第一个widget:
onDeleted
onReceive
4.移除最后一个widget:
onDeleted
onReceive
onDisabled 当widget从界面上全部移除的时候 调用的方法. 非常适合 擦屁股.删除临时文件. 停止后台服务.
onReceive
注意:
widget就是一个特殊的广播接受者 当有新的事件产生的是 肯定会调用 onReceive();
在不同的手机上 widget的生命周期调用方法 可能有细微的不同
比如:360桌面 go桌面 awt桌面 腾讯桌面 小米桌面
实现过程:
写一个widget步骤(参考文档):
1.写一个类继承AppWidgetProvider(注:该类间接继承广播接收者,所以需要在清单文件中注册)
2.在清单文件中配置该类(参考文档)
<receiver android:name="ExampleAppWidgetProvider" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/example_appwidget_info" />
</receiver>
3.在res目录下建一个xml的文件夹,并在里面建一个xml文件(参考文档)
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="1800000"
android:initialLayout="@layout/main">
</appwidget-provider>
4.测试
到桌面,常按桌面,选择Widget,可以找到自己定义滚动Widget
三、特点
潜在在其他应用上的小控件。可以定期更新