我通过以下方式插入图像:
ContentValues values = new ContentValues();
values.put(Images.Media.TITLE, filename);
values.put(Images.Media.DATE_ADDED, System.currentTimeMillis());
values.put(Images.Media.MIME_TYPE, "image/jpeg");
Uri uri = this.getContentResolver().insert(Images.Media.EXTERNAL_CONTENT_URI, values);
但是当我尝试删除时
File f = new File(imageURI);
f.delete();
图片不再存在,但有一个空的占位符。有任何想法吗?
Android 有某种缓存来跟踪媒体文件。
尝试这个:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
它使 MediaScanner 服务再次运行,这应该会从设备的缓存中删除已删除的图像。
看起来您还需要将此权限添加到 AndroidManifest.xml 中:
<intent-filter>
<action android:name="android.intent.action.MEDIA_MOUNTED" />
<data android:scheme="file" />
</intent-filter>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)