저번에 질문드렸는데 잘 해결이 안되네요
실행시간이 길기 때문에 중간에 클릭을 막는 방법 문의입니다.
onUpdate쪽에는
Intent switchIntent = new Intent(ACTION_SWITCH1);
PendingIntent switchPendingIntent = PendingIntent.getBroadcast(context, 0, switchIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.btn, switchPendingIntent);
appWidgetManager.updateAppWidget(switchWidget, views);
onRecive쪽에는
if(action.equals(ACTION_SWITCH)
if(!click) return; //false 면 리턴
else if(click)
{ //몇몇 값 바꾸고 click을 false로 //그리고 진동
new Thread(new Runnable()
{
public void run() { //배경 바꾸기
//끝나면 click을 true로
이런 식으로 만들었는데 앱위젯클릭하면 계속 리턴이 안되고 계속 진동 및 배경화면 변경이 됩니다.
click 값이 false인데도 자꾸 실행되는 이유가 멀까요?




자답입니다 화면 전환을 쓰레드로 해서 좀 복잡했는데
쉽게 말하면 쓰레드 시작시에 변수를 하나 지정해서 onupdate에서 뷰 속성을 바꿔주고
쓰레드 끝나면 다시 위젯업데이트 해서 원래대로 되돌려 주었습니다. 잘 작동하네요 ^^