gpt4 book ai didi

java - Android 共享图像不会清除以前共享项目的预览

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:39:33 25 4
gpt4 key购买 nike

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

最佳答案

我看到了同样的问题。此问题仅存在于少数应用程序,例如 keep、g+ 等谷歌应用程序。

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

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

在我的例子中,我在缓存目录(getCacheDir() 或 getExternalCacheDir())中创建了这些临时文件并清除缓存 onDestroy()。

关于java - Android 共享图像不会清除以前共享项目的预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30091956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com