创建桌面小部件的步骤:
2 需要配置当前元数据里面要用到xml
public class MyAppWidgetProvider extends AppWidgetProvider {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
super.onReceive(context, intent);
System.out.println("onReceive");
}
//每次有新的桌面小控件生成的时候都会调用
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
System.out.println("onUpdate");
}
/**
* 每次删除桌面小控件的时候都会调用的方法
*/
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onDeleted(context, appWidgetIds);
System.out.println("onDeleted");
}
/**
@Override
public void onEnabled(Context context) {
// TODO Auto-generated method stub
super.onEnabled(context);
System.out.println("onEnabled");
}
/**
* 当桌面上面所有的桌面小控件都删除的时候才调用当前这个方法
*/
@Override
public void onDisabled(Context context) {
// TODO Auto-generated method stub
super.onDisabled(context);
System.out.println("onDisabled");
}
4 实现一个桌面小部件的xml
(根据需求。桌面小控件涨什么样子。就实现什么样子)
}
1 需要在清单文件里面配置元数据
<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>
res/xml
for example:
文件名:example_appwidget_info
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="294dp" android:minHeight="72dp" android:updatePeriodMillis="86400000" //小部件更新时间 0表示开发者自己控制 默认是半小时刷新一次 android:previewImage="@drawable/preview" android:initialLayout="@layout/example_appwidget" //小部件的布局 android:configure="com.example.android.ExampleAppWidgetConfigure" android:resizeMode="horizontal|vertical"> </appwidget-provider>
3 需要配置一个广播接受者
public class MyAppWidgetProvider extends AppWidgetProvider {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
super.onReceive(context, intent);
System.out.println("onReceive");
}
//每次有新的桌面小控件生成的时候都会调用
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
System.out.println("onUpdate");
}
/**
* 每次删除桌面小控件的时候都会调用的方法
*/
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onDeleted(context, appWidgetIds);
System.out.println("onDeleted");
}
/**
* 第一次创建的时候才会调用当前的生命周期的方法
*生命周期只有10秒 因此不能在这里做耗时操作
*/@Override
public void onEnabled(Context context) {
// TODO Auto-generated method stub
super.onEnabled(context);
System.out.println("onEnabled");
}
/**
* 当桌面上面所有的桌面小控件都删除的时候才调用当前这个方法
*/
@Override
public void onDisabled(Context context) {
// TODO Auto-generated method stub
super.onDisabled(context);
System.out.println("onDisabled");
}
4 实现一个桌面小部件的xml
(根据需求。桌面小控件涨什么样子。就实现什么样子)
}