功能需要,嘗試在本地sd卡上創建文件和文件夾的時候,報錯,程序崩潰。
一般情況下,是忘記給予sd卡的讀寫權限。但是這里面權限已經給了,還是報錯。
在網上搜索關於這方面的問題,發現有網友給出解答:
4.4之后,不能隨便在sd卡上面創建文件或者文件夾了,
只能在Android/data/你的包名/,
這個路徑下創建或者修改,當然,Android/data/你的包名/,這個路徑你也是創建不了的,
調用下this.getExternalFilesDir(null)系統會默認給你創建,
然后就可以在Android/data/你的包名/下作讀寫操作了。
這里面的4.4之后不一定都存在這個問題。說法有點片面。
不過假如app需要分發到應用市場的話,還是需要考慮這方面的。
下面是獲取文件路徑的幾種方式:
System.out.println(Environment.getExternalStorageDirectory().getPath()); System.out.println(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)); System.out.println(getExternalCacheDir().toString()); //這個地方不會報錯了 System.out.println(getExternalFilesDir(null).toString()); //這個地方不會報錯了
后面兩個才是需要的。