Я выполняю некоторую обработку (улучшения качества и небольшое изменение размера )объекта Bitmap
, а затем сохраняю его с помощью функции bitmap.compress()
, указав имя файла «myfile.png».
newbitmap = processImage(bitmap);
FileOutputStream fos = context.openFileOutput("myfile.png", Context.MODE_PRIVATE);
newbitmap.compress(CompressFormat.PNG, 100, fos);
Теперь я хочу загрузить это изображение в ImageView
, но я не могу использовать для этого setImageBitmap()
. Есть ли альтернатива?
Причина, по которой я не могу использовать setImageBitmap()
, заключается в том, что я использую RemoteViews
для виджета, а использование растрового метода приводит к ошибке Failed Binder Transaction , когда изображение большое.
Я попытался установить uri изображения, используя приведенный ниже код, но изображение не загружается наImageView
:
RemoteViews rv = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
File internalFile = context.getFileStreamPath("myfile.png");
Uri internal = Uri.fromFile(internalFile);
rv.setImageViewUri(R.id.widgetImageView, internal);
updateAppWidget(awID, rv);
Спасибо за вашу помощь!