Android 设备重启后appWidget布局重置

Android 设备重启后appWidget布局重置,android,reboot,android-appwidget,Android,Reboot,Android Appwidget,我有一个显示图像的简单appWidget。在配置活动中选择图像,并通过移除视图更新小部件。这是通过按下执行以下代码的按钮来完成的: Intent intent = new Intent(context, KidDialog.class); intent.setData(selectedImage); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); widgetView.setOnCl

我有一个显示图像的简单appWidget。在配置活动中选择图像,并通过移除视图更新小部件。这是通过按下执行以下代码的按钮来完成的:

Intent intent = new Intent(context, KidDialog.class);
intent.setData(selectedImage);

PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
widgetView.setOnClickPendingIntent(R.id.centerBrd, pendingIntent);

widgetView.setImageViewUri(R.id.widImg, selectedImage);

appWidgetManager.updateAppWidget(appWidgetId, widgetView);

Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, resultValue);
finish();`
正如您所看到的,它还为图像的onClickListener看到了一个悬而未决的内容。我认为这与这里无关。不管怎样,这项工作很好。这个小部件完全符合我的要求。直到我重新启动设备


当我重新启动小部件时,将从apk中的xml加载默认视图。它不会从初始配置中保留映像更新。我的问题是,在配置活动期间,如何使用更新的视图集在重新启动后让小部件重新加载?我还需要重置onClick pendingent,但我会将其保存到以后。我想他们是有关系的。所以我没有主意了。

我不确定最好的答案,但当你收到按钮的意图时,你可以将图像名称保存到共享参考中


创建小部件时,请检查SharedReference的值,并使用该值还原所需的图像。

我已经尝试过了。问题是appwidget无法访问sharepreference。是的,我觉得很奇怪。我似乎是那些被忽略的奇怪的设计结构之一。不管出于什么原因,它都不会从具有访问权限的结构继承。我发现的另一个问题是,你不能在吊坠上使用额外的东西。这两种情况都令人痛苦。到目前为止,我提出的最佳选择是在外部文件或内部sql数据库中构建我自己的首选结构。体积庞大,但这是我发现的在appwidget和activity之间共享信息的唯一方法。