2016-04-21 8 views
0

Ich entwickle derzeit eine App für Android, die es einem Benutzer ermöglichen würde, eine PDF-Datei von ihrer SD-Karte auf die Server zu laden. Ich habe mir ein Tutorial angesehen, um ein Image auf einen Server hochzuladen, um die technischen Aspekte des Hochladens einer Datei zu verstehen.Zugriff auf PDF-Dateien auf SD-Karte auf Android-Gerät

Intent pickImageIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
startActivityForResult(pickImageIntent, REQUEST_PICK_IMAGE); 

Ich war an diesem suchen und fragen, wie ich diesen Code bearbeiten würde, damit der Benutzer die SD-Karte zugreifen können und eine PDF-Datei auswählen vielmehr, dass die Medien speichern Galerie?

Antwort

1

Sie erhalten eine Intent wie schaffen müssen:

Intent intent = new Intent(); 
intent.setType("*/*"); 
intent.setAction(Intent.ACTION_GET_CONTENT); 
// Always show the chooser (if there are multiple options available) 
startActivityForResult(Intent.createChooser(intent, "Select PDF"), REQUEST_PICK_PDF); 

Diese dem Benutzer ermöglichen, wird jede Art von Datei zu wählen, so dass Sie entsprechend in onActivityResult(...) und fahren Sie mit der Erweiterung überprüfen müssen werde.

+0

Wenn Sie die Zeichenfolge in intent.setType in "application/pdf" ändern, sollten nur die PDFs angezeigt werden, die sich in dem Ordner befinden, der auf der SD-Karte durchsucht wird. –

+0

Ich habe das versucht, bevor ich die Antwort gepostet habe, aber es hat nicht funktioniert. – camelCaseCoder

+0

Ah ok. Ich hatte ein wenig Glück mit Android und Minetypen, aber wir mussten immer auf die Dateiendung zurückgreifen. –