Ich verwende eine Absicht, um den Benutzer eine Datei auswählen zu lassen, und nachdem der Benutzer das getan hat, möchte ich wissen, welche Art von Dateityp die ausgewählte Datei ist.ACTION_GET_CONTENT: Wie bekomme ich die Dateiendung, wenn ich nach mehreren Dateitypen suche?
Die Absicht:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
In meinem onActivityResult Ich möchte den Weg von der Absicht durch intent.getData extrahieren() und alle seine "Untermethoden" (getScheme(), getLastPathSegment() usw.). Allerdings erhalte ich nur den Uri für die ausgewählte Datei.
Beispiel für Uris':
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
Ich habe gesehen, Lösungen, wie den absoluten Pfad zu erhalten, wenn der Benutzer nur zu wählen, Bilder oder Audios erlaubt. Aber wie mache ich den AbsolutePath (den echten Pfad mit dem Namen und der Dateiendung, z. B. MyPicture.jpeg), wenn ich dem Benutzer erlauben möchte, aus verschiedenen Dateitypen auszuwählen?
Der Code Ich habe mit worden twiggling zu versuchen, den Pfad-Namen in onActivityResult (int requestCode, int Result
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);