1

他の多くの人と同じように、私は AppWidget ID を使用してウィジェットごとの構成を保存しています。残念ながら、これらの ID は 2 つの値の間で変動しているようです。

基本的に、サンプルの実行から次のことが起こっているようです。

  1. 構成アクティビティで作成されたアプリ ウィジェット
  2. ID = 70
  3. 10秒経過
  4. ID = 153
  5. Eclipse で新しい APK を再起動/インストールする
  6. ID = 70

その後、それはもはや変化していないようです。何が原因でしょうか? 関連するコード スニペットを以下に示しますAlarmManager

AppWidgetProvider

service = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);

設定アクティビティ

Bundle extras = getIntent().getExtras();
int widgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);

AppWidgetManager widgetManager = AppWidgetManager.getInstance(this);
ComponentName widget = new ComponentName(getPackageName(), WidgetConfigActivity.class.getName());
int[] widgetIds = widgetManager.getAppWidgetIds(widget);

// Store the configuration for this widget
SharedPreferences.Editor prefsEdit = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit();
// Some settings here
prefsEdit.commit();

// Send initial update request
Intent initialUpdate = new Intent(this, WidgetProvider.class);
initialUpdate.setAction("android.appwidget.action.APPWIDGET_UPDATE");
initialUpdate.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, widgetIds);
sendBroadcast(initialUpdate);
4

1 に答える 1