Android共享图片无法从之前共享的项目中清除预览

时间:2015-05-07 04:29:49

标签: java android android-intent

简单的问题,我已设置代码来创建图像的位图并通过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; 
}

1 个答案:

答案 0 :(得分:4)

我看到了同样的问题。此问题仅适用于少数应用,例如Google等应用,例如keep,g +等。

如果文件相同,这些应用会保留预览。不确定为什么他们做出这样的假设。简而言之,预览将保留在每个文件中,即使在文件更改后也不会更新。我们无法修复这些应用,因此解决方案是避免更新同一个文件。

使用File.createTempFile()创建临时文件,以确保创建新的唯一文件。这样预览就会更新。

就我而言,我在缓存dir(getCacheDir()或getExternalCacheDir())中创建了这些临时文件,并清除缓存onDestroy()。