更改设备语言后,小组件单击不起作用

时间:2015-09-21 08:12:11

标签: android android-intent android-widget

我有2个TextView的简单小部件,在它的onUpdate():

 PendingIntent pendingIntent =  IntentUtils.getClockWidgetProviderPendingIntent(context);
 views.setOnClickPendingIntent(R.id.timeText, pendingIntent);

效果很好,但是当用户更改设备语言时,他们就不能再点击小部件了(直到重启设备)。

任何想法是什么问题? 感谢。

1 个答案:

答案 0 :(得分:0)

您是否在代码中的其他位置使用updateAppWidget调用? 您应该始终在每次setOnClickPendingIntent调用之前调用updateAppWidget,或者您可以使用public void partiallyUpdateAppWidget (int appWidgetId, RemoteViews views),因为

"请注意,由于这些更新未缓存,因此在使用AppWidgetService中的缓存版本还原窗口小部件的情况下,restoreInstanceState未还原的任何状态都不会保留。&# 34;

因此,每当用户旋转设备或更改语言时,窗口小部件都将重置为最近updateAppWidget调用中保留的值。