2017-05-25 4 views
0

Google PixelにUSB-C SSDデバイスを接続しています。 Settings > Storageに削除ストレージが表示されているため、デバイスにマウントされていることを確認できますが、アプリでストレージからファイルを読み取る方法がわかりません。私はそれを行うにはFileReaderのようなものを使用できることを知っているが、私はパスが何であるか分からない。 Linuxでは/mnt...にUSBストレージがありますが、Android/Google Pixelの機能はわかりませんUSB外部ストレージからファイルを読み取る

+0

バンプは好きではありませんが、実際にこれを行った人はいませんか? – Carpetfizz

答えて

0

おそらく、getExternalFilesDirs()を使ってパスを見つけることができます。最後のエントリは、pendriveのプライベートディレクトリになります。

また、Intent.ACTION_OPEN_DOCUMENT_TREEとIntent.ACTION_OPEN_DOCUMENTを使用して、ユーザーがドライブ上のドライブまたはファイルを選択できるようにすることができます。

+0

お返事ありがとう、最初のものは私に '[/storage/emulated/0/Android/data/com.company.my.app/files]' を与えてくれました。第2のものとして、私は 'Intentに' startActivityForResult'を行いました私は新しい意図(Intent.ACTION_OPEN_DOCUMENT_TREE);と '/ tree/04F8-111C:'のように見える戻りの意図からURIを得ました、 'File f = new File(uri.getPath)'と ' f.listFiles() 'しかし、それは' null'を返します – Carpetfizz

+0

いいえ、URIはそうではありません。 uri.getPath()を使用しましたが、コンテンツスキームはuri.toString()です。また、コンテンツスキームにはFileクラスを使用できません。 – greenapps

+0

奇妙なこと:getExternalFilesDirs()によって提供された2番目または3番目のパスの値を教えてくれなかったのはなぜですか?それらを使用すると、Fileクラスを使用できます。 – greenapps

関連する問題