ホームページ > Java > &#&チュートリアル > Android のファイル エクスプローラーで選択したテキスト ファイルの実際のパスを取得するにはどうすればよいですか?

Android のファイル エクスプローラーで選択したテキスト ファイルの実際のパスを取得するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-30 19:19:14
オリジナル
881 人が閲覧しました

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

Android のファイル エクスプローラーからテキスト ファイルの実際のパスを取得します

Android で、インテントを使用してファイル エクスプローラーからファイルを選択するとき。 ACTION_OPEN_DOCUMENT では、ファイルの実際のパスを取得する際に問題が発生する可能性があります。これは、ファイル エクスプローラーによって返される URI がファイル システム パスを直接指していない可能性があるためです。

この問題を理解するには、ACTION_OPEN_DOCUMENT がファイルではなくドキュメントを開くことを理解することが重要です。ドキュメントはファイルである可能性がありますが、データベース エントリ、バイト ストリーム、またはその他の種類のデータ オブジェクトである可能性もあります。

したがって、ファイルの「実際のパス」をファイルから取得しようとすると、ドキュメント Uri が常に可能であるとは限らず、推奨されるわけでもありません。以下に代替アプローチをいくつか示します。

  1. ContentResolver を使用します。 ファイル パスを抽出する代わりに、ContentResolver と openInputStream() を使用してドキュメントのコンテンツを読み取り、それらを書き込みます。あなたが管理するファイル。これにより、作業できるデータのローカル コピーが確保されます。
  2. ファイル セレクター ライブラリを使用する: 特にファイルの選択に興味がある場合は、ファイル セレクター ライブラリをあなたのアプリ。これらのライブラリは、より制御されたファイル選択エクスペリエンスを提供し、ファイルのパスを取得するプロセスを簡素化できます。ただし、新しいバージョンの Android では、特に外部ストレージの場合、ファイル システムへのアクセスが制限されていることに注意してください。
  3. ドキュメントのスキームを確認してください: ACTION_GET_CONTENT を使用する場合は、返された URI のスキームを確認してください。 。 「file」の場合は、getPath() メソッドを使用してファイルシステムのパスを取得できます。ただし、スキームがそれ以外の場合は、ファイルへのパスを提供する Uri に依存しないでください。

以上がAndroid のファイル エクスプローラーで選択したテキスト ファイルの実際のパスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート