Heim > Java > javaLernprogramm > Wie kann ich den tatsächlichen Pfad einer Textdatei ermitteln, die im Datei-Explorer von Android ausgewählt wurde?

Wie kann ich den tatsächlichen Pfad einer Textdatei ermitteln, die im Datei-Explorer von Android ausgewählt wurde?

Susan Sarandon
Freigeben: 2024-12-30 19:19:14
Original
881 Leute haben es durchsucht

How Can I Get the Real Path of a Text File Selected from Android's File Explorer?

Erhalten Sie den echten Pfad einer Textdatei aus dem Datei-Explorer in Android

In Android, wenn Sie mit Intent eine Datei aus dem Datei-Explorer auswählen. ACTION_OPEN_DOCUMENT können Sie Schwierigkeiten haben, den tatsächlichen Pfad der Datei zu ermitteln. Dies liegt daran, dass der vom Datei-Explorer zurückgegebene URI möglicherweise nicht direkt auf einen Dateisystempfad verweist.

Um dieses Problem zu verstehen, ist es wichtig zu wissen, dass ACTION_OPEN_DOCUMENT ein Dokument und nicht unbedingt eine Datei öffnet. Das Dokument kann eine Datei sein, es könnte aber auch ein Datenbankeintrag, ein Bytestrom oder ein anderer Datenobjekttyp sein.

Daher wird versucht, den „echten Pfad“ einer Datei aus einem zu ermitteln Dokument-URI ist nicht immer möglich oder ratsam. Hier sind einige alternative Ansätze:

  1. Verwenden Sie ContentResolver: Anstatt zu versuchen, den Dateipfad zu extrahieren, verwenden Sie ContentResolver und openInputStream(), um den Inhalt des Dokuments zu lesen und in ihn zu schreiben eine Datei, die Sie kontrollieren. Dadurch wird sichergestellt, dass Sie über eine lokale Kopie der Daten verfügen, mit denen Sie arbeiten können.
  2. Verwenden Sie eine Dateiauswahlbibliothek: Wenn Sie speziell an der Auswahl von Dateien interessiert sind, integrieren Sie eine Dateiauswahlbibliothek in Ihre App. Diese Bibliotheken ermöglichen eine kontrolliertere Dateiauswahl und können das Ermitteln des Dateipfads vereinfachen. Beachten Sie jedoch, dass der Dateisystemzugriff in neueren Android-Versionen eingeschränkt ist, insbesondere für externen Speicher.
  3. Überprüfen Sie das Schema des Dokuments: Wenn Sie ACTION_GET_CONTENT verwenden, überprüfen Sie das Schema des zurückgegebenen Uri . Wenn es sich um „Datei“ handelt, können Sie die Methode getPath() verwenden, um den Dateisystempfad abzurufen. Wenn es sich jedoch um ein anderes Schema handelt, sollten Sie sich nicht darauf verlassen, dass der Uri einen Pfad zu einer Datei bereitstellt.

Das obige ist der detaillierte Inhalt vonWie kann ich den tatsächlichen Pfad einer Textdatei ermitteln, die im Datei-Explorer von Android ausgewählt wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage