我試圖將一些字符串保存到SD卡。但它是拋出此異常打開失敗EACCES(權限被拒絕)。我在一臺設備上測試了這個(asus zenfone 5)。我已經在清單文件WRITE_EXTERNAL_STORAGE中聲明瞭權限,安裝了我的SD卡並可以從中讀取數據(我親自通過複製一些mp3文件並將其播放)進行檢查。因爲這是一個手機特定的應用程序,手機內有一個內部和外部存儲器,我想保存在外部SD卡中的文件,我寫了這樣的代碼。我通過使用「cd」和「ls」命令獲得了使用終端仿真器應用程序的外部SD卡的絕對路徑。我的手機沒有固定,所以我不能直接發佈任何權限更改。我已經嘗試所有可能的方法可能通過谷歌和stackoverflow。請幫我開放失敗EACCES(權限被拒絕)
public void savePublicExternalFile(String data){
File folder = new File("/Removable/MicroSD/");
//i have also tried File folder = new File("/Removable/MicroSD");
File myFile = new File(folder,"mydata.txt");
WriteData(myFile, data);
}
private void WriteData(File myFile, String data){
if(t){
Log.i("AbsolutePath",myFile.getAbsolutePath());
t = false;
}
FileOutputStream fileOutputStream=null;
try {
fileOutputStream = new FileOutputStream(myFile);
fileOutputStream.write(data.getBytes());
} catch (Exception e) {
Log.i("exception",e.toString());
} finally {
if(fileOutputStream!=null){
try {
fileOutputStream.close();
} catch (IOException e) {
Log.i("exception", e.toString());
}
}
}
}
這是有幫助的,我能寫在SD卡的android文件夾,因爲文件[1]給了我的路徑,有沒有什麼方法可以使用這個或任何其他方法獲得SD卡的根路徑? –
耶穌基督,花了我兩個小時找到你的答案。非常感謝。我試了很多年的環境調用,但它從來沒有用於我的Android 6系統(早期版本工作正常)。這裏有我的讚賞! –