我設置了以下我的Android清單:sd.canWrite()始終返回false
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我有我的活動如下:
File sd = Environment.getExternalStorageDirectory();
boolean can_write = sd.canWrite();
SD返回到/ mnt/sdcard
我正在測試我的設備(evo 3d)而不是模擬器。 SD卡已安裝。它只發生在充電模式和USB電纜沒有插入時。谷歌和堆棧上的帖子上的各種頁面顯示完全相同的方法來檢查SD卡是否可寫,所以我必須錯過一些東西。
UPDATE:
我試試下面的代碼,並拋出IOException異常權限被拒絕。
File TestFile = new File(sd + "/testfile.txt");
try {
boolean result = TestFile.createNewFile();
if(result)
{
Log.i("tag","successfully created file");
} else {
Log.i("tag","failed to create file");
}
} catch (IOException e) {
Log.e("tag",e.toString() + " " + TestFile);
return false;
}
我已經格式化了我的SD卡,重新安裝了它,然後重新啓動手機,仍然有相同的錯誤。
UPDATE
顯然,這是我自己的無知,導致它失敗。我在我的清單的錯誤部分有我的權限塊。再次感謝:)
通常它抱怨,如果事情是放錯了地方的原因。你把權限放在哪裏? –
哪裏可以使用persistence?先謝謝你。 – twlkyao