Ich habe diesen Dialog gesehen, um eine Datei auf Android in einigen Anwendungen zu wählen/zu öffnen und es scheint mir als der Eingeborene. Aber ich kann keine Möglichkeit finden, es in meinen eigenen Apps zu verwenden. Die Sprache des beigefügten Screenshots ist Deutsch, aber ich bin mir sicher, dass es jemand erkennen wird. Screenshot of the file-dialogWie native Android Datei-Open-Dialog zu verwenden?
Antwort
Sie können die Absicht ACTION_GET_CONTENT mit dem MIME Typ "*/*" verwenden. Es wird die URI auf dem onActivityResult
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent()
.setType("*/*")
.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select a file"), 123);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==123 && resultCode==RESULT_OK) {
Uri selectedfile = data.getData(); //The uri with the location of the file
}
}
Das scheint die Systembenutzeroberfläche für the Storage Access Framework zu sein. Sie würden ACTION_OPEN_DOCUMENT
verwenden, damit der Benutzer ein vorhandenes Dokument öffnen kann, oder ACTION_CREATE_DOCUMENT
, damit der Benutzer ein neues Dokument erstellen kann.
Dies ist jedoch keine Datei UI. Es ist ein Inhalt UI. Der Benutzer kann Dinge durchsuchen, die nicht lokal gespeichert sind — im Screenshot, der Benutzer kann ihre Google Drive und One Drive Bereiche durchsuchen. Und was Sie bekommen, ist a Uri
pointing to content, not a file path.
zurückkehren Ja, das ist genau das, was ich gesucht habe! Vielen Dank! Wusste einfach nicht, dass das Content heißt, aber es macht absolut Sinn ... – bartolja
- 1. wie zu verwenden reactive-native realm
- 2. Android Native - Wann 64-Bit-NDK zu verwenden?
- 3. Wie VS2015 verwenden, um Android native App zu debuggen, wenn ich NDK r11 verwenden muss?
- 4. Android Native Sprache Sprachausgabe
- 5. Wie entwickle/portiere ich eine native C-Bibliothek zu Android?
- 6. React native für Android
- 7. Native Android WebRTC-Anwendungsentwicklung
- 8. Android AudioRecord zu FFMPEG encode native AAC
- 9. native Heap-Nutzung android
- 10. Android ICS native Lockscreen
- 11. müssen verwenden hadoop native
- 12. Wie native Android apk auf dem physischen Gerät zu installieren
- 13. Wie native Android App für die Produktion zu reagieren?
- 14. reagieren native, wie Android-Dev-Modus zu deaktivieren
- 15. Ist es möglich, Google Pappe API zu verwenden, um native Android-Anwendung zu erstellen?
- 16. React Native - Verwenden von iOS und Android SDKs
- 17. Reagieren Native Android GeoLocation
- 18. Reagieren Native Android & Genymotion
- 19. Wie React-native NavigationExperimental mit Relay verwenden?
- 20. Android native UPnP-Dienstentdeckung
- 21. Verwenden von Sensoren auf Android mit React Native
- 22. Reagieren native Android moveTaskToBack?
- 23. Native Debuggen Android Studio
- 24. React-native, wie man Standalone Android apk
- 25. React-native Android ignoriert navigator.geolocation.getCurrentPosition
- 26. Android Soziale Netzwerke sdk, die native libs verwenden
- 27. Reagieren Native Android Debug Keystore
- 28. Wie native C++ - Bibliothek auf Android erstellen?
- 29. Wie native Kamera Sound auf Android spielen
- 30. Wie Android ViewSwitcher verwenden?
Ja, dieser Weg ist sogar noch besser, weil er auch den Zugriff auf Dateien in Apps wie Dropbox erlaubt. Dropbox wird nicht in der Liste angezeigt, wenn ** ACTION_OPEN_DOCUMENT ** verwendet wird. – bartolja
Wenn ich dies mit 'set_type (" image/* ")' auf KITKAT mache, komme ich nicht zu diesem Dialog, sondern stattdessen erscheint eine Liste von Apps, die zum Öffnen benutzt werden. – Tjaart