Używam intencji, aby użytkownik mógł wybrać plik, a po jego wykonaniu chcę się dowiedzieć, jaki typ pliku jest wybrany.ACTION_GET_CONTENT: Jak uzyskać zakończenie pliku przy wyszukiwaniu wielu typów plików?
Intencją:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
W moim onActivityResult chcę wyodrębnić ścieżkę z zamiarem poprzez intent.getData() i wszystkich jego "submethods" (getScheme(), getLastPathSegment() itp). Jednak otrzymuję tylko Uri dla wybranego pliku.
Przykład URI:
Uri: content://media/external/audio/media/15185 //This is an audiofile
Uri: content://media/external/audio/media/20 //Another audiofile
Uri: content://media/external/images/media/20577 //this is a picture
Uri: file:///storage/emulated/0/testWed%20Apr%2017%2011%3A10%3A34%20CEST%202013 //This is a file
Widziałem rozwiązań, jak uzyskać bezwzględną ścieżkę, gdy użytkownik jest dozwolone tylko do wyboru zdjęć lub audio. Ale w jaki sposób mogę uzyskać absolutePath (rzeczywistą ścieżkę z nazwą i zakończeniem pliku, np. MyPicture.jpeg), jeśli chcę zezwolić użytkownikowi na wybór różnych typów plików?
Kod Byłem twiggling z postarać się o-nazwę ścieżki w onActivityResult (int requestCode, int ResultCode
String fileName = data.getData().getLastPathSegment().toString();
System.out.println("Uri: " +data.getData().toString());
File f = new File(fileName);
System.out.println("TrYinG wIWThA Da FiLE: " +f.getAbsolutePath());
System.out.println("FileNAME!!!: "+fileName);