Ich starte die Absicht zur Auswahl von Documnets mit dem folgenden Code.Android - So erhalten Sie den ausgewählten Dateinamen aus dem Dokument
private void showFileChooser() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
try {
startActivityForResult(
Intent.createChooser(intent, "Select a File to Upload"), 1);
} catch (android.content.ActivityNotFoundException ex) {
// Potentially direct the user to the Market with a Dialog
Toast.makeText(this, "Please install a File Manager.",
Toast.LENGTH_SHORT).show();
}
}
In onActivity ergibt, wenn ich versuche, den Dateipfad zu erhalten ist eine andere Zahl an der Stelle des Dateinamen geben.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
// Get the Uri of the selected file
Uri uri = data.getData();
File myFile = new File(uri.toString());
String path = myFile.getAbsolutePath();
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
Dieser Weg Wert ich bekomme so. "content: //com.android.providers.downloads.documents/document/1433" Aber ich möchte echten Dateinamen wie doc1.pdf etc .. Wie bekomme ich es?
verwendet werden, was Sie erhalten Wenn Sie myFile.getName() verwenden? – Opiatefuchs