在我的应用程序中,我以这种方式创建一个临时文件
File tmp = File.createTempFile("TEST_", null, getFilesDir());
这解析为一个文件,toURI() zed 对象
/data/data/it.lorenzoff.test/files/TEST_XXX.tmp
在某些情况下,我想在SD卡上永久移动此文件,但此代码
dest = new File("/sdcard/permanentFile");
tmp.renameTo(dest);
永远不会奏效。
我已经在使用这些权限
了<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
但重命名要继续返回false。 我做错了什么?
提前致谢
L,
答案 0 :(得分:4)
可以在File
的文档中找到解释:
很多失败都是可能的。一些更可能的失败包括:
在这种情况下,源文件路径和目标文件路径指向不同的安装点(这两个安装点甚至具有不同的文件系统)。您只能选择手动将文件复制到SD卡,然后从内部存储中删除该文件。