3 回答

TA貢獻1803條經驗 獲得超3個贊
這是因為對RemoteView的所有更改都已序列化(例如setInt和setImageViewBitmap)。位圖也被序列化為內部捆綁。不幸的是,該捆綁包的尺寸限制非常小。
您可以通過按以下方式縮小圖像尺寸來解決此問題:
public static Bitmap scaleDownBitmap(Bitmap photo, int newHeight, Context context) {
final float densityMultiplier = context.getResources().getDisplayMetrics().density;
int h= (int) (newHeight*densityMultiplier);
int w= (int) (h * photo.getWidth()/((double) photo.getHeight()));
photo=Bitmap.createScaledBitmap(photo, w, h, true);
return photo;
}
選擇newHeight足夠?。ㄔ谄聊簧蠎摓槊總€正方形大約100個正方形)并將其用于小部件,您的問題將得到解決:)

TA貢獻1803條經驗 獲得超6個贊
您可以將位圖壓縮為字節數組,然后在另一個活動中將其解壓縮,如下所示。
壓縮!!
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] bytes = stream.toByteArray();
setresult.putExtra("BMP",bytes);
解壓??!
byte[] bytes = data.getByteArrayExtra("BMP");
Bitmap bmp = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
- 3 回答
- 0 關注
- 453 瀏覽
添加回答
舉報