У меня есть URL изображения. То, что я должен сделать, запустить программу просмотра изображений по умолчанию для изображений с помощью намерения.
Я пытался запустить его при помощи:
Uri uri = Uri.parse("http://www.google.com/intl/en_ALL/images/srpr/logo1w.png");
Intent it = new Intent(Intent.ACTION_VIEW);
it.setDataAndType(uri, "image/*")
startActivity(it);
Но это не работает. Если я не указываю тип данных, намерение запускает браузер, так как данные являются URL. Это работает в основном (так как Вы видите изображение на браузере), но что я хотел бы, должен иметь дисплей галереи изображение для меня.
Я могу также загрузить изображение в Битовый массив, но я все еще не знал бы, как отобразить Битовый массив с помощью галереи (если это даже возможно). Какие-либо идеи?
Править: Я пытался сохранить битовый массив к кэшу, и затем запустите средство просмотра на том файле, но это не работает. Можно ли определить какие-либо ошибки на моем коде? (Класс Утилит является классом, который я записал. Метод просто создает Битовый массив. Это работает, это не проблема),
File temp = File.createTempFile("tempImage", ".jpg", getContext().getCacheDir());
Bitmap bmp = Utilities.loadBitmap(largeUrl.toString());
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(temp));
bmp.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.close();
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(temp), "image/jpg");
((Activity) getContext()).startActivity(intent);
РЕДАКТИРОВАНИЕ 2: Я решил, что мне, возможно, понадобятся загруженные изображения, в конце концов, таким образом, я решил сначала сохранить их на SD-карте. Это создало другие проблемы. Я задал новый вопрос для этого, так как это - другая проблема.
Возможно, для галереи требуется сохранение изображения в памяти.
Почему бы не загрузить изображение в растровое изображение, а затем сохранить его как файл, а затем запустить изображение для этого файла?
(Если вы не хотите, чтобы файл оставался после этого, вы можете просто сохранить его в каталоге данных вашего приложения)
Ваш код в порядке, но вам нужно сохранить изображение на SD-карте («временный» файл), чтобы программа просмотра фотографий работала. Проверено на 1.5, 1.6, 2.1.