GettingSignals

[Android]ウィジェットの画像が更新されない

2012年3月9日
Posted by hina

定期的にURLから取得した画像を表示するウィジェット作りました。

が、
更新される画像と更新されない画像があり、問題に・・・。

ソース抜粋
ComponentName thisWidget = new ComponentName(context, WidgetImage.class);
AppWidgetManager manager = AppWidgetManager.getInstance(context);
remoteViews.setBitmap(R.id.widgetImage, “setImageBitmap”, mBitmap);     // 画像をセットする
manager.updateAppWidget(thisWidget, remoteViews);

更新されない原因としては以下があるみたい。
・アルファがのっている画像だとダメ
・画像サイズが大きいとダメ

アルファがのっている画像はオプションで指定して対処
bitmap = BitmapFactory.decodeStream(is);

Options opt = new Options();
opt.inPreferredConfig = Config.RGB_565;
bitmap = BitmapFactory.decodeStream(is,null,opt);

画像サイズが大きいとダメは画像を1/2にして対処
opt.inSampleSize = 2;

今回の画像はある程度決まったサイズ(480 x 800)だったので、解決できた気がします。
表示されるときと表示されないときの際は、
bitmap.getRowBytes()
で取得した値が960だとダメで、
480とかだと大丈夫なような感じでした。
根拠ないです。
HTC EVOだと特に対処しなくても更新されてるのに、
Gallaxy Tabだと更新されない。
この差がなんなのかが謎で、はまりました

Share

Comments are currently closed.

Follow

カレンダー

2024年4月
1234567
891011121314
15161718192021
22232425262728
2930