본문 바로가기
개발자/Android

[Android] 앱 위젯(AppWidget) 1개만 생성하기

by Alex.K 2014. 4. 14.
반응형

[Android] 앱 위젯(App Widget) 1개만 생성하기


NB 디데이 어플을 만들면서 위젯을 처음 접하게 되었는데요.


디데이 어플에서는 여러가지 데이터를 이용해서 여러개의 위젯을 생성하여 사용하였습니다.


하지만 그 반대로 하고 싶을때에는 어떻게 해야할까요?


4*4 형태의 큰 위젯을 사용하는 어플에서는 여러개의 위젯이 아닌 단 1개의 위젯을 사용하고 싶을때가 있습니다.


자 그럼 한단계씩 차근차근 가보겠습니다. (App Widget 구성방법을 알고 있다라고 생각하고 글을 적겠습니다)


1. 위젯 생성 || 위젯 삭제(??)


위젯을 홈화면에 추가할때 위젯을 추가 할지 추가 하지 말지를 결정할수가 있는데요.

우선 이 부분을 사용하려면 app widget 메타 데이터에서 android:configure 가 필요합니다. (configure activity가 필요합니다)


configure 액티비티에서 액티비티 종료할때 보통 RESULT_OK , RESULT_CANCEL 2개의 값을 이용해서 생성 및 취소를 하게 됩니다.


이 부분을 이용하게 된다면 위젯을 1개보다 많게 생성하려 할때 강제로 생성이 안되도록 할 수 있습니다.


아래는 예제 부분입니다.




2. 유령 App Widget ID들...


몇몇 기기들에서 발견된 문제로 RESULT_CANCEL 만으로는 위젯 ID가 삭제되지 않는다라는 크나큰 문제를 확인할 수 있었습니다.

SKY 기기들에서 문제가 많이 발생했었는데요.

이 문제 해결을 할려면 RESULT_CANCEL 시 쓸때없이 남아있는 유령 ID를 삭제해야합니다.




위와 같이 진행을 한다면 유령 ID는 남아있지 않고 위젯은 1개만 생성이 되게 됩니다.




[ 위젯 참고 이미지 입니다. NB 디데이 ]


반응형

댓글