早些時候,我在根用戶的設備上使用KitKat
,我能夠輕鬆創建臨時文件。但是現在我在Nexus 5上安裝了Marshmallow
,同樣的代碼給了我一個例外。在Android上保存文件的例外Marshmallow
相關的代碼是:
File storageDir = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DOWNLOADS);
// File repertoireStockage = Environment.getExternalStorageDirectory();
try {
file1 = File.createTempFile("RecordAudio",".mp4", storageDir);
}
catch (IOException e) {
Log.e("RecordAudio", "I/O Problem");
e.printStackTrace();
return;
}
是的,我確實有application
標籤之外的權限Manifest.xml
文件
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
早些時候,我用註釋行獲得存儲目錄,但現在,兩者都不起作用。任何形式的幫助,將不勝感激。
我試過刪除數據線後保存文件,我仍然得到相同的異常。
請分享您的logcat的! –
您必須申請許可。 Marshamallow擁有「運行時權限」。 閱讀此幻燈片以瞭解最新動態 https://goo.gl/photos/9R6ss39caQHLyEmU6 –