AppWidget을 제작하면서, 초기 홈스크린에 설정시 Configure 액티비티를 보여주어 설정값을 받게 되어있습니다.

실행시키면 문제 없이 실행이 되고 설정값이 반영되어 홈스크린에 위젯이 보여지게 되는데요.

위젯을 클릭했을 때, 다시 Configure 액티비티로 이동해 설정값 변경을 하려고 시도하고 있습니다.

하지만, 위젯 클릭으로 Configure 액티비티에 접근하게 되면 INVAlID_APPWIDGET_ID가 되어 종료됩니다.

Provider에서 Configure로 이동시에 intent에 widget id를 넘겨주어 체크해야 하는 부분인지, 아니면 다른 방법이 있는지 궁금합니다.

/* Provider */
Intent intent = new Intent(context, GoogleWeatherConfigure.class);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.LinearLayout01, pendingIntent);

 /* Configure Activity */
Intent intent = getIntent();
Bundle extras = intent.getExtras();
if(extras != null) {
    mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
}
if(mAppWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {
    finish();
}



공지사항 다 읽었음