[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 디데이 ]
'개발자 > Android' 카테고리의 다른 글
[Android] error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute? (0) | 2014.11.13 |
---|---|
[Android] 액티비티 화면 방향 설정 (0) | 2014.05.08 |
[안드로이드] 화면 크기 구하기 (0) | 2012.01.15 |
<Android> 안드로이드 리스트 뷰를 내 맘대로 사용하자(커스텀 리스트뷰) (49) | 2012.01.03 |
[Android] 버튼 클릭 시 이미지 변경에 대한 방법 (0) | 2012.01.02 |
댓글