본문 바로가기
카테고리 없음

안드로이드 서비스나 액티비티에서 위젯의 onUpdate 호출하기

by 철이아부지 2012. 2. 14.
ACTION_APPWIDGET_UPDATE를 Broadcast하면 되는데 이때 Extra로 Widget ID를 넣어 주어야 한다. 
다음과 같은 방법으로 위젯 ID들을 획득할 수 있다.

mgr.getAppWidgetIds(new ComponentName(this, Widget.class)) 

예제 코드를 작성하면 아래와 같다.

AppWidgetManager mgr = AppWidgetManager.getInstance(this);
Intent update = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
update.setClass(this, Widget.class);
update.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, mgr.getAppWidgetIds(new ComponentName(this, Widget.class)));
this.sendBroadcast(update);

그냥 -_-; EXTRA_APPWIDGET_ID가 없으면 Class도 알겠다. 그냥 알아서 ID가져다가 갱신해주면 안되겠니?