1.首先寫個類繼承AppWidgetProvider,可以重寫六個方法如下:
@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubSystem.out.println("onReceive");super.onReceive(context, intent);}@Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {// TODO Auto-generated method stubSystem.out.println("onUpdate");}@Overridepublic void onDeleted(Context context, int[] appWidgetIds) {// TODO Auto-generated method stubSystem.out.println("onDeleted");super.onDeleted(context, appWidgetIds);}@Overridepublic void onEnabled(Context context) {// TODO Auto-generated method stubSystem.out.println("onEnabled");super.onEnabled(context);}@Overridepublic void onDisabled(Context context) {// TODO Auto-generated method stubSystem.out.println("onDisabled");super.onDisabled(context);}
2、隨便準備一布局檔案,比如example_appwidget_info.xml檔案
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:onClick="button" android:layout_height="wrap_content" android:text="Button" /></LinearLayout>
3、 在res檔案夾下建立一檔案夾xml,在xml檔案夾下建立一XML檔案,比如example_appwidget_info.xml
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="294dp" android:minHeight="72dp" android:updatePeriodMillis="86400000" android:initialLayout="@layout/example_appwidget_info"></appwidget-provider>
4、在AndroidManifest註冊一receiver,格式如下
<receiver android:name="AppWidgetInfo"> <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>
5、運行一下軟體,退出長按螢幕就能發現添加控制項中有自己的控制項了