gpt4 book ai didi

java - sd.canWrite() 总是返回 false

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:35 25 4
gpt4 key购买 nike

我已经设置了以下我的 android list :

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我的 Activity 中有以下内容:

File sd = Environment.getExternalStorageDirectory();
boolean can_write = sd.canWrite();

sd 返回/mnt/sdcard

我在我的设备 (evo 3d) 上测试,而不是模拟器。 sd卡已挂载。在仅充电模式和未插入 USB 电缆时都会发生这种情况。谷歌上的各种页面和堆栈上的帖子显示了完全相同的方法来检查 SD 卡是否可写,所以我一定是遗漏了一些东西。

更新:

我尝试了以下代码,它抛出 ioexception permission denied。

    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;
}

我已经格式化我的 sdcard,重新安装它,并重新启动手机,但仍然有同样的错误。

更新

显然是我自己的无知导致了它的失败。我在 list 的错误部分中设置了我的权限 block 。再次感谢 :)

最佳答案

我不会使用 sd.canWrite(),实际上,我会使用这样的东西:

String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
Log.d("Test", "sdcard mounted and writable");
}
else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
Log.d("Test", "sdcard mounted readonly");
}
else {
Log.d("Test", "sdcard state: " + state);
}

取自这里:http://www.xinotes.org/notes/note/1270/

关于java - sd.canWrite() 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6942677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com