Mam adres URL obrazu. Muszę uruchomić domyślną przeglądarkę obrazów dla obrazów z intencją.Uruchom przeglądarkę intencji, aby wyświetlić obraz z adresu URL
Próbowałem uruchomienie go za pomocą:
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);
Ale to nie działa. Jeśli nie określę rodzaju danych, intencja uruchomi przeglądarkę, ponieważ dane są adresem URL. Działa zasadniczo (ponieważ widzisz obraz w przeglądarce), ale chciałbym, aby galeria wyświetlała dla mnie obraz.
Mogę również pobrać obraz do bitmapy, ale nadal nie wiem, jak wyświetlić mapę bitową za pomocą galerii (jeśli to możliwe). Jakieś pomysły?
EDYCJA: Próbowałem zapisać mapę bitową w pamięci podręcznej, a następnie uruchomić przeglądarkę na tym pliku, ale nie działa. Czy zauważyłeś jakieś błędy na moim kodzie? (Klasa Utilities jest klasa I napisał metoda po prostu tworzy bitmapę To działa, to nie jest problem..)
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);
EDIT 2: Uznałem, że mogę potrzebować pobrane obrazy Wszakże tak ja postanowił najpierw zapisać je na karcie SD. To stworzyło inne problemy. Poprosiłem o to new question, ponieważ jest to inny problem.
Chciałbym móc to zrobić bez zapisywania rzeczy, ale próbowałem to i to nie działa. Czy możesz rzucić okiem na moje zredagowane pytanie i zauważyć jakieś błędy? –
Dwie uwagi: (1) Ustawiasz parametr DataAndType na pliku tymczasowym, zanim zostanie wyprowadzony. Dlaczego nie pobrać zapisanego pliku, a następnie dodać go do intencji? (2) Kiedy mówisz "to nie działa", jaki jest wynik lub wyjątek? – HXCaine
co masz na myśli, zanim został wydrukowany? kompresuję mapę bitową, zamykam strumień wyjściowy, a następnie tworzę intencję ... –