Android Widget:OnClickPendingIntent不起作用

时间:2012-03-24 16:41:32

标签: android android-widget

当我点击Button wid时,为什么不接收被叫?

代码:

public class Widget extends AppWidgetProvider {
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        for (int i = 0; i < appWidgetIds.length; i++) {
            int appWidgetId = appWidgetIds[i];

            Intent intent = new Intent(context, Widget.class);
            PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

            RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
            views.setOnClickPendingIntent(R.id.wid, pendingIntent);
            appWidgetManager.updateAppWidget(appWidgetId, views);
        }
    }

     @Override
        public void onReceive(Context context, Intent intent) {
            super.onReceive(context, intent);
            Log.d("ARH","CLICKK");
        }

因为我需要一个按钮来手动刷新小部件,但似乎Log.d("ARH","CLICKK");只在我添加小部件时被调用。

谢谢!

1 个答案:

答案 0 :(得分:3)

您使用PendingIntent调用Activity,但您的Widget类不是活动。

如果要更新到窗口小部件,则需要使用发送APPWIDGET_UPDATE操作的getBroadcast。