안녕하세요,
App Widget 을 개발하고 있는데,
처음에 그냥 단순 이미지만 뿌려줄때는 가로모드로 전환한다고 해서 갑자기 클릭이 안된다거나 하는 문제가 발생하지 않았는데,

특정 정보를 5초 간격으로 번갈아가면서 뿌려주기 위해, thread로 timer task를 호출하고..
timer task에서 위젯의 view를 갱신하게 해줬더니, 그 순간부터 갑자기 가로모드로 전환하면 클릭이 안됩니다.

그리고.. LCD화면이 한번 꺼졌다 켜지면 그때부터 클릭이 안되는 문제가 있었는데.. 지금 이 증상을 발견하고 나서부터는
이 역시 같은 문제가 아닐까 하는 생각이 듭니다.

구현은 대략 이런식으로 하였습니다. 아래 코드는 service 를 상속받은 클래스 안에 구현한 코드입니다.

public void onStart(Intent intent, int startId) {
    Thread thread = new Thread(null, dnInfoUpdateBackground, "Background");
    thread.start();
}
 
private Runnable dnInfoUpdateBackground = new Runnable() {
    UpdateMainText updategui = new UpdateMainText();
    public void run() {
        ArrayList<InfoData> infoDatas = mInfoReceiver.getInfoDataArrayList(mContext);  
        if(infoDatas != null) {
            addInfoDataToContentProvider(infoDatas);
        }
        if(mTimer == null) {
            mTimer = new Timer();
            mTimer.scheduleAtFixedRate(updategui, 0, 5000);
        }
    }  
};

private class UpdateMainText extends TimerTask {  
    int renewTimes = 0;
    public void run() {
        ArrayList<InfoData> infoDatas = getInfoDataFromContentProvider(); // 잘못된 코드(문맥을 위해 임시로 넣어뒀습니다)
        AppWidgetManager mAppWidgetManager = AppWidgetManager.getInstance(mContext);
        RemoteViews mRemoteView = new RemoteViews(mContext.getPackageName(), R.layout.info_widget);
        ComponentName thisWidget = new ComponentName(mContext, InfoWidget.class);
        if(infoDatas != null) {
            if(renewTimes >= infoDatas.size()) renewTimes = 0;
            InfoData infoData = infoDatas.get(renewTimes);
            mRemoteView.setTextViewText(R.id.widget_info_text, infoData.title);
            mAppWidgetManager.updateAppWidget(thisWidget, mRemoteView);
            renewTimes++;
        }   
    }  
}

이 코드를 버튼을 클릭할시 발생하는 Intent를 widget의 메인 소스의 onReceive에서 받게되면 startService를 호출하도록 하였습니다.
역할은.. 따로 만들어놓은 웹에서 데이터를 가져오는 녀석한테 데이터를 받아서
(runnable에 들어있는 mInfoReceiver.getInfoDataArrayList(mContext);  <-- 요 녀석입니다) ContentProvider에 집어넣은후에
그 데이터를 ContentProvider에서 끄집어내서 위젯에 5초마다 번갈아가며 뿌려주는 기능을 합니다.

이 코드들을 적용하기 전에, 그냥 이미지로 버튼 하나 달아놨을때는 이리저리 화면 돌려보며 테스트해도 클릭이 잘 되었는데,
적용 후부턴 화면을 한번 돌리면 그 이후로 아예 버튼이고, 내용이고(내용에도 클릭 가능하도록 했습니다) 아무것도 클릭이
안됩니다. 그냥 딱.. 먹통이 되어버린다고 할까요..

도움좀 부탁드립니다. 도저히 해결이 안되네요 ㅜ.ㅜ
(더불어 제가 개발에 좀 미숙하여 비효율적이거나 잘못된 코드를 짰을수도 있는데 혹시 그런 부분이 있다면 지적해주셔도 감사합니다)

미리 감사합니다!!!!!!