exampleAppzWidget.java
package com.example.exampleAppWidget; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.Context; import android.content.Intent; import android.widget.RemoteViews; public class exampleAppWidget extends AppWidgetProvider { private static final String APP_UPDATE_ACTION = "com.example.exampleAppzWidget.APP_UPDATE"; @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setAction(APP_UPDATE_ACTION); PendingIntent pendingIntent = PendingIntent.getBroadcast(context,0,intent,0); RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.example_appwidget_provider); remoteViews.setOnClickPendingIntent(R.id.widgetButtonId,pendingIntent); appWidgetManager.updateAppWidget(appWidgetIds, remoteViews); super.onUpdate(context, appWidgetManager, appWidgetIds); } @Override public void onDeleted(Context context, int[] appWidgetIds) { // TODO Auto-generated method stub System.out.println("delete"); super.onDeleted(context, appWidgetIds); } @Override public void onDisabled(Context context) { // TODO Auto-generated method stub System.out.println("disabled"); super.onDisabled(context); } @Override public void onEnabled(Context context) { // TODO Auto-generated method stub System.out.println("endabled"); super.onEnabled(context); } @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub super.onReceive(context, intent); String action = intent.getAction(); if(APP_UPDATE_ACTION.equals(action)) { System.out.println("receive-->" + action); } } }
然后在Mainfest中注册一个自定义的action
<intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> </intent-filter>