2016-07-31 17 views
2

Um eine Datei-Manager App zu starten, so kann der Benutzer die Datei holen sie öffnen möchte ich den folgenden Code bin mit:.FilePath Rückkehr aus Implicit-Intent

Intent pickFile = new Intent(Intent.ACTION_GET_CONTENT); 
    pickFile.setType("file/*"); 
    pickFile.addCategory(Intent.CATEGORY_OPENABLE); 
    if (pickFile.resolveActivity(getPackageManager()) != null) { 
     startActivityForResult(pickFile,FILE_REQUEST_CODE); 
    } else{ 
     Toast.makeText(getApplicationContext(),"Did not start intent",Toast.LENGTH_SHORT).show(); 
     return; 
    } 

Dies funktioniert gut, aber die Der Dateimanager wird im Stammverzeichnis geöffnet.
Für den Benutzer bedeutet dies zu viel klicken, bis die gewünschte Datei erreicht ist.

Also gibt es eine Möglichkeit, die Absicht vielleicht aus einem anderen Ordner zu starten, und nicht das Stammverzeichnis? Außerdem scheint die Android Developer Guide keine Lösung zu bieten.

Antwort

0

wie dieses Versuchen

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath() 
    + "/yourFolder/"); 
intent.setDataAndType(uri, "*/*"); 
startActivityForResult(Intent.createChooser(intent, "Open folder"),FILE_REQUEST_CODE); 
+0

Wenn ich ‚Datei Commander‘ im ‚Open von‘ Dialog wählen, zeigt die App nur einen leeren Bildschirm (obwohl die Datei ist). Wenn Sie jedoch manuell dorthin navigieren, wird es angezeigt und ich kann es in meinem Android-Programm öffnen. Irgendwelche Hinweise auf dieses Verhalten? – astraTiCon