在通过获取特定图像的路径捕获图像后,我将删除DCIM(CAMERA)目录中的所有图像。
当我在Genymotion中测试我的应用程序时,它工作正常。但是,当我在Android设备上尝试它,即三星s3以及XOLO_a500s时,它没有删除捕获的图像。
可能是什么问题?
要删除的代码:
public void deleteCapturedImages() {
alCapturedImagesPath = mDBHelper.getCapturedImagesPath();
if (alCapturedImagesPath.size() > 0) {
for (int i = 0; i < alCapturedImagesPath.size(); i++) {
File f = new File(alCapturedImagesPath.get(i));
f.delete();
}
}
}
清单中的权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
为此:
我从相机的onActivityResult()
获取捕获的图像路径并将其保存到数据库中。
现在,在删除图像时,我正在从数据库中检索该路径并使用new File(databasePath);
将其转换为文件,如函数deleteCapturedImages()
中所述。