我有2个TextView的简单小部件,在它的onUpdate():
PendingIntent pendingIntent = IntentUtils.getClockWidgetProviderPendingIntent(context);
views.setOnClickPendingIntent(R.id.timeText, pendingIntent);
效果很好,但是当用户更改设备语言时,他们就不能再点击小部件了(直到重启设备)。
任何想法是什么问题? 感谢。
答案 0 :(得分:0)
您是否在代码中的其他位置使用updateAppWidget调用?
您应该始终在每次setOnClickPendingIntent
调用之前调用updateAppWidget
,或者您可以使用public void partiallyUpdateAppWidget (int appWidgetId, RemoteViews views)
,因为
"请注意,由于这些更新未缓存,因此在使用AppWidgetService中的缓存版本还原窗口小部件的情况下,restoreInstanceState未还原的任何状态都不会保留。&# 34;
因此,每当用户旋转设备或更改语言时,窗口小部件都将重置为最近updateAppWidget调用中保留的值。