Skocz do zawartości
Jacob_the_Liar

Otwarcie galerii z możliwością robienia zdjęć/filmów

    Rekomendowane odpowiedzi

    Witam,

    mam pytanie problem polegający na otwarciu galerii. W obecnych w sieci przykładach mogę bez problemu pobrać ścieżkę do pliku wskazanego w galerii. Problem polega na tym, że mogę osobno uruchomić do wybrania pliku zdjęcia

    intent = new Intent(Intent.ACTION_PICK, 
    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

    lub filmu

    intent = new Intent(Intent.ACTION_PICK,
    android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI);

    chciałbym, by galeria otwierała się z możliwością wybrania dowolnego typu pliku film/zdjęcie.

    Dodatkowo chciałbym by po otwarciu galerii można było zrobić zdjęcie lub nakręcić film podobnie jak to jest podczas uruchamiania galerii z menu dostępnych aplikacji. Po zakończeniu tej czynności chciałbym wybrać ten plik już z galerii na tych samych zasadach co go wybieram normalnie plik.

    Obecnie mam to w takiej postaci i chciałbym tą czynność zrobić bardziej uniwersalną bez wyboru typy pliku plus wspomniana możliwość robienia zdjęć lub kręcenia filmów

        private void wybierzplik(){
    
    
       	final CharSequence[] items = new CharSequence[2];
    
       	items[0] = "Album zdjęć";
       	items[1] = "Album filmów";
    
       	AlertDialog.Builder builder = new AlertDialog.Builder(this);
       	builder.setTitle("Wybierz rodzaj pliku...");
    
       	builder.setItems(items, new DialogInterface.OnClickListener() {
    		public void onClick(DialogInterface dialog, int which) {
    			Intent intent;
    
    			if (which==0) 
    				intent = new Intent(Intent.ACTION_PICK,
    						android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    			else
    				intent = new Intent(Intent.ACTION_PICK,
    						android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
    
    
    			startActivityForResult(intent, which);
    
    		}
    	});
    
       	AlertDialog alert = builder.create();
       	alert.show();
    
       }
    
    //i dalej
    
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    	super.onActivityResult(requestCode, resultCode, data);
    
    	if (resultCode == RESULT_OK){
    
    			Uri targetUri = data.getData();
    			filePath = getPath(targetUri);
    			Bitmap pict = BitmapFactory.decodeFile(filePath);
    			podgladViw.setImageBitmap(pict);
    	}
    } //onActivitiResult
    

    Pozdrawiam

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x