안드로이드 개발 질문/답변
(글 수 45,052)
홈위젯에 LinearLayout를 3개로 해서 다음과 같은 형태로 구성을 하였습니다.
아이템에는 버튼을 같은 아이디로 동적으로 생성을 해놓구 Pedingintent 로 액션을 지정했습니다.
이 홈위젯이 한 개 일때는 괜찮은데 두 개 이상이 되면 Pedingintent의 widgetId가 자꾸 가장 최근에
등록한걸로 로그가 찍힙니다...;; onUpdate시에 appWidgetManager.updateAppWidget(widgetId, views);
이런식으로 위젯 아이디별로 업데이트를 하는데도 그러네요...
AppWidgetManager.EXTRA_APPWIDGET_ID가 동일해서 그런걸까요??
아시는 분 있으시면 답변 부탁드립니다... ㅠ_ㅜ
Intent intent = new Intent(context, WidgetProvider.class);
intent.setAction(ACTION_CHANGE);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetId);
LinearLayout
아이템
LinearLayout
아이템
LinearLayout
아이템
uri로 보내보세요.
*AppWidgetProvider
Uri appWidgetUri = Uri.parse(widgetId + "");
intent.setData(appWidgetUri);
pendinginetnt 보내기
* 받는쪽
Uri data = getIntent().getData();
Bundle extras = getIntent().getExtras();
if(extras != null) {
widgetId = extras.getInt(AppWidgetManger.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
}