问题可能出在使用RemoteViews的时候,如果RemoteViews被声明成了静态的,它的更新将不会自动生效。因此,我们需要确保RemoteViews对象是在更新时重新初始化的。下面是一个可能的
//创建RemoteViews RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.my_widget);
//更新时间 views.setTextViewText(R.id.tv_time, System.currentTimeMillis()+"");
//当小部件被更新时调用onUpdate方法
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for (int i=0; i 这个方法保证了每次更新小部件时都会重新初始化RemoteViews,从而解决了Android小部件不会自动更新的问题。