갤럭시S 2.3.3 에서 위젯이 업데이트 되지 않고 이전 모습이 계속 보여진다
대충 아래처럼 생긴 위젯인데..
하나씩 확인 시작!
1. 로그에 출력되는 Exception?
:: 없음
2. 이미지 bitmap 이 null인가?
:: null 아님, 샤방한 이미지가 있음
3. 갱신을 못하고 있나?
:: appWidgetManager.updateAppWidget(..) 잘 호출됨
4. 타이밍 이슈인가?
:: 한번만 출력하게 해도 안나옴 -_-;;
...
뭐지.... -_-;;
답은 "난 멋진 이미지"에 들어갈 수 있는 이미지의 크기에 제한이 있어서!
우선 480x480 bitmap을 넣으면 위젯이 뻗는다.
최대 크기는 테스트를 해 보지 않았고
110x110 bitmap은 잘 들어가는군!
삼성단말만 예외처리하기는 애매해서 허니컴 이하 버전 전체를 예외처리
Bitmap bitmap = null;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
//삼성 갤럭시 시리즈 2.3.x 단말에서 이미지의 크기가 크면
//위젯이 갱신되지 않고 뻗어버리는 이슈가 있어 수정
int maxSizeBeforeHoneycomb = 110;
bitmap = ImageUtil.decode(imagePath);
if (bitmap.getWidth() > maxSizeBeforeHoneycomb) {
Bitmap scaled = Bitmap.createScaledBitmap(bitmap, maxSizeBeforeHoneycomb, (bitmap.getHeight() * maxSizeBeforeHoneycomb) / bitmap.getWidth(), true);
bitmap.recycle();
bitmap = scaled;
}
} else {
bitmap = ImageUtil.decode(imagePath);
}
remoteView.setImageBitmap(R.id.iamniceimage, bitmap);
삼성 이시키들.. 이미지를 못쓰면 로그라도 출력해야지...
그냥 멈춰버리다니..
끝..