简单的问题,我已设置代码来创建图像的位图并通过Action_Send共享它。当它被共享时,正确的图像会发送,但是在消息字段中显示的图像的预览(如果您通过文本发送它)显示以前共享的项目。有没有办法强制刷新预览?下面的图片显示了我正在谈论的领域。那里的预览不是当前共享的图像,而是许多以前从未清除的前一个图像。
http://i.stack.imgur.com/dT78Z.png
private Intent getShareIntent()
{
Intent shareIntent = new Intent(Intent.ACTION_SEND);
File sdCard = Environment.getExternalStorageDirectory();
File sharedFile = new File(sdCard+"/SaveDirectory/mypicture.png");
Uri uri = Uri.fromFile(sharedFile);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_STREAM, uri); return shareIntent;
}
答案 0 :(得分:4)
我看到了同样的问题。此问题仅适用于少数应用,例如Google等应用,例如keep,g +等。
如果文件相同,这些应用会保留预览。不确定为什么他们做出这样的假设。简而言之,预览将保留在每个文件中,即使在文件更改后也不会更新。我们无法修复这些应用,因此解决方案是避免更新同一个文件。
使用File.createTempFile()创建临时文件,以确保创建新的唯一文件。这样预览就会更新。
就我而言,我在缓存dir(getCacheDir()或getExternalCacheDir())中创建了这些临时文件,并清除缓存onDestroy()。