FAILED BINDER TRANSACTION
본론으로...
위젯에 이미지뷰를 사용하시면 거두절미하고
보통 setImageViewBitmap(뷰xml, 비트맵); 을 사용하게 되는데
FAILED BINDER TRANSACTION !!!
이런 에러가 납니다.
원래는 인텐트간 데이터 전달할때 용량초과 에러인데,
[위젯 이미지뷰에 비트맵 이미지를] 넣을 수 있는 한계도 동일한걸로 알고 있었거든요,
저는 처음에 이 부분을 무시 했었습니다.
왜냐하면 제가 넣는 이미지의 크기는 4kb도 안됐기 때문이죠.
물론 크기도 2x2 표준 크기보다 작았고요.
(-_-용량이나 크기 문제라면, 4x4 위젯은 무얼로 만들었단가....)
삼천포로 잠시 빠져서
제가 만드는 앱은, 액자 위젯 입니다.
외국인들과 한국인 분들께, 핸드폰을 재부팅하면 (onUpdate 발동시) 사진이 위젯이 사라지거나
액자만 납겨두고 사진만 사라지거나 하는 현상이 나타난다고
메일 접수를 받았는데 엄청 난감했습니다.
해결할 방법을 몰랐죠..
처음에는 루팅 롬 문제인줄 알고
그리고 SD카드 외장이동 문제인줄알고
엄청 헤맸습니다.
-_-아예 처음부터 등록할때 안나오던가,
재부팅하면 나올때도 있고 안나올때도있고 -_-;; 왔다리 갔다리...
아직까지 왜 그런지는 모릅니다.
롬별로 될때도 있고 안될때도 있고,
이미지별 차이일수도 있고요,
이상하게 MIUI롬은 대부분 잘 됐습니다.
펍에 질문/답변을 사용해봐도, 아는 분이 안계시는것 같고요,
결국 Stack overflow에 허접영어로 올려 -_-; 답변을 받고
이리저리 찾다가, 구글쪽에 누가 올려놓은 게시글을 보고
해결 방안을 찾았습니다.
setImageViewBitmap을 쓰지말고
죄송합니다.
remoteviews.setUri(xml뷰이름, "setImageURI", 비트맵변수");
를 쓰랍니다.
가운데 setImageURI 는 정해져있는겁니다.
-_- 동적인 부분을 요하기 때문에 Resource는 못쓰고
Uri로 쓰니, 잘 되네요....
댓글 없음:
댓글 쓰기