@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(appWidgetId, views);
           Toast.makeText(context, "onUpdate", Toast.LENGTH_SHORT).show(); 
  }
  super.onUpdate(context, appWidgetManager, appWidgetIds);
 };


이런식으로 onUpdate코드를 작성했습니다.

 @Override
 public void onReceive(Context context, Intent intent) {
  Toast.makeText(context, "onReceive", Toast.LENGTH_SHORT).show(); 
  
//위젯클릭시 ;; ㅜㅜ
  if(intent.getAction().equals(CLICK_ACTION) == true){
   Toast.makeText(context, "onReceive - CLICK_ACTION", Toast.LENGTH_SHORT).show(); 
 
    //Update Widgets.
    AppWidgetManager wm = AppWidgetManager.getInstance(context);
    ComponentName widget = new ComponentName(context,abc.class);
    wm.updateAppWidget(widget, view);
    
    
    AppWidgetManager manager = AppWidgetManager.getInstance(context);
    this.onUpdate(context, manager, manager.getAppWidgetIds(new ComponentName(context, abc.class)));
  }   else {
   super.onReceive(context, intent);
  }
 }

이런식으로 onReceive 작성했구요.

 

우선 위젯이 아주 잘 실행되기는 합니다. 클릭도 잘먹구요.

그런데 디바이스의 언어를 변경하는 등의 어떤 일이 실행되면

가끔씩 위젯이 완전 맛이 가버리더라고요 -_-; 그래서 어쩐 일인가 싶어 Toast로 봤더니

 

아얘 onReceive가 호출되지 않더라고요.. setonclickpendingintent도 다 되있는데 말이죠..

 

아참, 그래서 임시방편 해결방법으로 메인엑티비티에서 버튼누르면

 Intent i = new Intent(CLICK_ACTION);           sendBroadcast(i);

되게 해놨거든요..그러니 또 그때부터 다시 onReceive가 말을듣기시작합니다.

 

이건 어디에 문제가 있는걸까요.. 메니페스트쪽도 아무 문제없구요, onReceive의 문제인지, onUpdate문제인지, 디바이스의 문제인지, 아님 고칠수없는 치명적인 오류라던지..ㅜㅜ

 

 

.이거 정말 급한일인데 어떻게 해쳐나가야 할지 감이안잡힙니다.. ㅜㅜ 여러분들 도와주세요 !! 제발 ~~