我在Android中导出SQLite数据文件,但只有在重新启动移动设备时它才会显示

时间:2014-03-26 12:08:27

标签: android sqlite export reboot

使用以下soucre Code,我在Android中导出SQLite数据文件。它成功导出数据文件,但只有在重新启动移动设备时才会显示。

我正在使用非root移动,我只对非root移动设备中的导出数据感兴趣。所以请不要为有根移动的移动设备提供解决方案。

File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();

if(sd.canWrite())
{
String currentDBPath = "//data//"+ packageName +"//databases//"+"DB";
String backupDBPath = "DB";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);

if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
} 
}

1 个答案:

答案 0 :(得分:0)

我认为“不可见”是指通过USB MTP挂载设备时不可见。

使用MediaScannerConnection通知系统新创建的文件,以便将其添加到MTP索引中。

重新启动有效,因为媒体扫描是作为启动顺序的一部分运行的。