2016-04-24 4 views
0

Wenn eine Dateiauswahl mit der folgenden Methode zu öffnen:Android: Sie interne Dateiauswahl zur Verfügung als eine Wahl

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
intent.setType("file/*"); 
intent.addCategory(Intent.CATEGORY_OPENABLE); 
Intent chooserIntent = Intent.createChooser(intent, "Open file"); 
startActivityForResult(chooserIntent, REQUEST_CODE_FILE_PICKER); 

es sei denn, ein Standard festgelegt wurde, wird dies den Benutzer eine Auswahl von Datei Kommissionierer präsentieren zu verwenden . Wie stellen Sie Ihre eigene, interne Dateiauswahlfunktion als eine der Auswahlmöglichkeiten für Dateiauswahlfunktionen zur Verfügung, die dem Benutzer angezeigt werden (z. B. Material File Picker)?

+0

http://developer.android.com/ Referenz/android/content/Intent.html # EXTRA_INITIAL_INTENTS – CommonsWare

+0

Danke, ich schaue mir das an. Können Sie hier eine Anleitung zu einem verwandten Thema geben: http://stackoverflow.com/q/36821133/4070848? – drmrbrewer

Antwort

0

Dank @ CommonsWare Kommentar, hier ist das Extra an Code benötigt, um die interne Dateiauswahl auf die Auswahlliste den Benutzer hinzuzufügen:

// this bit is as before... 
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
intent.setType("file/*"); 
intent.addCategory(Intent.CATEGORY_OPENABLE); 
Intent chooserIntent = Intent.createChooser(intent, "Open file"); 

// new bit... create Intent for the internal file picker... 
Intent materialFilePickerIntent = new Intent(this, FilePickerActivity.class); 
materialFilePickerIntent.putExtra(FilePickerActivity.ARG_FILE_FILTER, Pattern.compile(".*\\.txt$")); 

// and add the picker to the list... 
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { materialFilePickerIntent }); 

// finally, startActivityForResult() as before... 
startActivityForResult(chooserIntent, REQUEST_CODE_FILE_PICKER); 
Verwandte Themen