2017-05-25 109 views
0

我有一個USB-C SSD設備連接到我的Google Pixel。我可以確認它已安裝到設備上,因爲我可以看到Settings > Storage中的移除存儲空間,但我不確定如何從我的應用中的存儲中讀取文件。我知道我可以使用像FileReader這樣做,但我不知道路徑是什麼。在Linux中,我可以找到/mnt...中的USB存儲器,但我不知道Android/Google像素是什麼從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]' 對於第二個,我做了'startActivityForResult' on'Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);'並從返回的意圖中獲得URI,它看起來像'/ tree/04F8-111C:',我嘗試了'File f = new File(uri.getPath)'和' f.listFiles()'但是返回'null' – Carpetfizz

+0

沒有uri看起來不像那樣。您使用了uri.getPath(),但內容方案是uri.toString()。而且不能使用File類作爲內容方案。 – greenapps

+0

奇怪:爲什麼你沒有告訴getExternalFilesDirs()提供的第二或第三條路徑的值?有了它們,你可以使用File類。 – greenapps