Android 使用RemoteView从BroadcastReceiver更新更多小部件

Android 使用RemoteView从BroadcastReceiver更新更多小部件,android,widget,broadcastreceiver,remoteview,Android,Widget,Broadcastreceiver,Remoteview,我遵循以下步骤:使我的广播接收器工作 实际上,所有AlarmManager都工作正常,但每次调用onReceive时,所有小部件都使用相同的数据进行更新 public class AlarmManagerBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(final Context context, Intent intent) { fin

我遵循以下步骤:使我的广播接收器工作

实际上,所有AlarmManager都工作正常,但每次调用onReceive时,所有小部件都使用相同的数据进行更新

public class AlarmManagerBroadcastReceiver extends BroadcastReceiver
{
    @Override
    public void onReceive(final Context context, Intent intent)
    {       
        final String address = intent.getStringExtra("mykey");
        ...
        final RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget); 

        // downloading data
        ...
        // decoding data
        ...

        remoteViews.setTextViewText(R.id.mykey, newvalue);

        ComponentName thiswidget = new ComponentName(context, AppWidgetProvider.class);
        AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
        appWidgetManager.updateAppWidget(thiswidget, remoteViews);
    }
}

你在哪里调用更新应用程序小部件?我应该从OnRevive调用AppWidgetProvider的onUpdate吗?你的onUpdate不会自动调用吗?我需要每3分钟更新一次小部件,所以我设置了android:updatePeriodMillis=“0”updatePeriodMillis只会每30分钟更新一次,即使你将其设置为小于30分钟。