Chcę utworzyć selektor zdjęć z galerii. Używam kodu
intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, TFRequestCodes.GALLERY);
Mój problem polega na tym, że w tym działaniu wyświetlane są pliki wideo. Czy istnieje sposób na filtrowanie wyświetlanych plików, aby żadne pliki wideo nie były wyświetlane w tym działaniu?
Odpowiedzi:
Absolutnie. Spróbuj tego:
Nie zapomnij również o utworzeniu stałej PICK_IMAGE , abyś mógł rozpoznać, kiedy użytkownik wróci z galerii obrazów. Aktywność:
Tak nazywam galerię zdjęć. Włóż i sprawdź, czy to działa dla Ciebie.
EDYTOWAĆ:
Spowoduje to wyświetlenie aplikacji Dokumenty. Aby umożliwić użytkownikowi korzystanie z dowolnych zainstalowanych aplikacji galerii:
źródło
@Override
funkcjionActivityResult(int requestCode, resultCode, Intent data)
, gdzie zalecane jest użycie tej stałej do sprawdzeniarequestCode
parametru przed wykonaniem jakiejkolwiek akcji :)Czasami nie można pobrać pliku z wybranego obrazu. To dlatego, że wybrany pochodzi z Google+, Dysk, Dropbox lub dowolnego innego dostawcy.
Najlepszym rozwiązaniem jest poproszenie systemu o wybranie treści przez Intent.ACTION_GET_CONTENT i uzyskanie wyniku od dostawcy treści.
Możesz postępować zgodnie z poniższym kodem lub spojrzeć na moją zaktualizowaną treść .
źródło
if(resultCode == Activity.RESULT_OK) {...}
może być użyty do wykrycia sukcesu / anulowanianew File(data.getData()).getAbsolutePath()
Tylko zgadnij, nie próbowałemgetActivity().getContentResolver().openInputStream(data.getData());
.źródło
path
? inFile file = new File(path);
Możesz użyć tej metody, aby wybrać obraz z galerii. Wyświetlane będą tylko obrazy.
i zastąp parametr onActivityResult as
źródło
Oto pełny przykład pozwolenia na żądanie (w razie potrzeby), wybierz obraz z galerii, a następnie przekonwertuj obraz na
bitmap
lubfile
AndroidManifesh.xml
Czynność
Demo
https://github.com/PhanVanLinh/AndroidPickImage
źródło
Jeśli szukasz tylko zdjęć i wielokrotnego wyboru.
Spójrz @ raz https://stackoverflow.com/a/15029515/1136023
Jest to pomocne na przyszłość. Osobiście czuję się świetnie, używając MultipleImagePick .
źródło
Aby zaoferować aktualizację odpowiedzi dla osób z API min. 19, zgodnie z dokumentami:
Otwórz pliki za pomocą struktury dostępu do pamięci - Dokumenty Android
źródło
Aby wybrać tylko z lokalnego, dodaj to:
A to działa dobrze:
źródło
U możesz to zrobić łatwiej niż te odpowiedzi:
źródło