我写了一个小应用程序,它在我的Android设备上创建了一个XML文件。不,我尝试将其从手机复制到我的Windows PC。在Windows资源管理器中,我看不到这个文件特定的文件,在我的手机上我可以看到这个文件与各种文件浏览器。当我重新启动手机时,该文件出现在Windows资源管理器中,但我无法将其复制到我的桌面。
以下是我创建文件的代码:
String filename = "myfile.xml";
String dir = Environment.getExternalStorageDirectory().getPath()+"/"+c.getResources().getString(R.string.app_name);
createDir(dir);
File file = new File(dir,filename);
FileWriter out=null;
try {
String xml = createXml();
try {
out = new FileWriter(file);
out.write(xml);
out.close();
} catch (Exception e) {
out.close();
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
我的猜测是,此代码不会释放文件句柄,因此Androids MTP无法访问此文件。这也可以解释为什么文件显示后可以删除(但不能转移到我的电脑上)。重启手机后。
任何建议出了什么问题?
答案 0 :(得分:0)
我认为您应该刷新该文件的媒体扫描程序
sendBroadcast(
new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(imageAdded))
);