안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 ~^^ 오랜만에 글올려보네요 ㅎㅎ;
다름이아니고 급하게 질문드릴 내용이 있어서 이렇게 글올립니다 !
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for(int cnt = 0; cnt < appWidgetIds.length; cnt++) {
int appWidgetId = appWidgetIds[cnt];
Intent intent = new Intent(CLICK_ACTION);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidget);
views.setOnClickPendingIntent(R.id.button, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds, views);
}
super.onUpdate(context, appWidgetManager, appWidgetIds);
};
이런식으로 작성을 했습니다. CLICK_ACTION 은 걍 com.abc라고 가정하구요
R.layout.button은 ImageView입니다.
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(CLICK_ACTION) == true){
//위젯 클릭시 이벤트
}else {
super.onReceive(context, intent);
}
이런식으로 onReceive를 작성했습니다.
메니페스트에 인텐트 필터로 com.abc 작성하는것도 안빼먹고 하여튼
위젯을 클릭하면 지정된 이벤트가 매우 잘 실행이됩니다. .. 에러하나없이
그런데 가끔가다가 갑자기 클릭이벤트를 안먹더라고요..로그를보면 로그가 하나도 안나오고..참 기이한 일입니다 ㅜㅜ
아주좋은예로, 지금 단말기의 언어가 한국어로 되어있던것을 영어로바꾸고 나서 위젯을 클릭하면 클릭이 안된다던지 등의
오류가 있는것 같습니다.. 이거 어떻게 하면 좋을까요.(다른 위젯들은 아주 잘 실행이 되더군요.)
그리고 이에러가 났을때 위젯을 삭제했다 다시 만들어놓으면 될때도 있고 안될때도 있고 그러더군요.. 정말 중요한 일인데 자꾸 이런 말고안되는 일이 제 앞길을 가로막고 있습니다.. ㅜㅜ 저와 같은 현상에서 벗어나신 프로그래머분들 ~ 좀 도와주시면 감사하겠습니다 !! 저 진짜 중요한 일이라서요 ㅜㅜ
꾸벅(_ _)
모두들 감기조심하세요 ~ 어우 콧물이 말이아니네요-_-^




onUpdate() 의 for 문안에서 아래와 같은 구문이 있어야 할꺼 같은데요
appWidgetManager.updateAppWidget(appWidgetIds[i], views);