如何手动更新小部件?

时间:2013-10-07 04:45:06

标签: android android-widget broadcastreceiver

我想手动更新小部件。所以,我添加了一个AndroidManifest过滤器:

 <action android:name="com.myapp.WIDGET_UPDATE"/>

我尝试从这样的adb控制台发送广播

am broadcast -a com.myapp.WIDGET_UPDATE

但没有任何反应。以下是onReceive的代码:

public class myapp extends AppWidgetProvider {

    private final static IntentFilter intentFilter = new IntentFilter("com.myapp.WIDGET_UPDATE");

    private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
        public void onReceive(Context context, Intent intent) {
            updateWidget(context);
        }
    };
}

1 个答案:

答案 0 :(得分:0)

您必须在 layout_wid.xml 文件中放置一个按钮。

onUpdate()中你必须找到你的按钮的id。并点击事件来刷新你的小部件

Intent imageview2Intent= new Intent(context, WatchWidget.class);
PendingIntent pendingIntent= PendingIntent.getBroadcast(context,0, imageview2Intent,0);         
remoteViews.setOnClickPendingIntent(R.id.widget_textview, pendingIntent);

你试试这种方式。