0
我有一個簡單的appWidget來顯示圖像。在配置活動中選擇圖像,並通過移除視圖更新小部件。這是在按鈕按下執行下面的代碼完成:重新啓動設備後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();`
正如你所看到的,它也看到了對的PendingIntent圖像的onClickListener。我不認爲這是相關的。無論如何,這項工作很棒。小部件完全符合我的要求。直到我重新啓動設備。
當我用apk中的xml中的默認視圖重新加載小部件時。它不保留來自初始配置的圖像更新。我的問題是,如何在配置活動期間使用更新後的視圖重新啓動後重新加載小部件?我還需要重置onClick Pendingintent,但我會在以後保存。無論如何,我希望他們是相關的。所以我沒有想法。
我已經試過了。問題是appwidget無權訪問共享首選項。是的,我覺得很奇怪。我似乎是錯過了那些奇怪的設計結構之一。不管出於何種原因,它不會從具有訪問權的結構繼承。另一個我發現的是,你不能使用額外的pendingintent。這些都是一種痛苦。 到目前爲止,我提出的最佳選擇是在外部文件或內部sql數據庫中構建自己的偏好結構。體積龐大,但我發現在appwidget和活動之間共享信息的唯一方式。 – PhilD41 2010-08-17 03:08:49