接続されているUSB OTGドライブから非常に特定のファイルを読みたいと思います。これはUSBスティックに保存する必要があるテキストファイルで、特定の名前のファイル、たとえばmyFile.txt
を読み込む必要があります。このようなユーザー入力を得ることは理解できませんが、ユーザーフレンドリーではありません。これは実装するように言われています。ストレージアクセスフレームワーク経由でOTGファイルを取得する方法
しかし私の問題は、USBドライブのマウントポイントがたくさんあることです。私の電話では/storage/USBStorage1
、友人には/storage/[HEX_ID]
です。私はそれらのすべてを手に入れようとしましたが、それは不可能です。 Nexusの電話機では、/mnt/media_rw/[HEX_ID]
に搭載されており、ルートアクセスが必要です。
私はちょっと調べてSAFを見つけましたが、ユーザーが直接選択せずにファイルを開くために使用する方法については何も見つかりませんでした。私はピッカーが現れないようにします。私はちょうど[USB_OTG_PATH]/myFile.txt
が存在するかどうかをチェックしたいと思っています、もし存在すれば私はそれを読んでいます。
そしてサイドノートでは、/mnt
フォルダ(media_rw
を除く)を読み取るにはルートアクセス権が必要ですか?
によっても異なるが、はい、それはgetExternalFilesDirsで配信 'File'オブジェクト()' [のいずれかになります。 – greenapps
@greenapps:ファイルがこれらのディレクトリのいずれかに存在する場合のみ。 OPは、このファイルを任意の場所に置くことを望んでいるようです。 – CommonsWare
@CommonsWare:そのFileオブジェクトから、OPはドライブのルートを引き出すことができます。そこから彼は彼の道を追加する。ルートは '/ Android /'の前の部分です。 – greenapps