gpt4 book ai didi

android - 图片 _display_name 在 com.android.provider.media/external.db 的外部数据库中更改

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:36 24 4
gpt4 key购买 nike

我在我的应用程序中使用 MediaStore.Images.Media.EXTERNAL_CONTENT_URI(External DB::data/data/com.android.provider.media/external.db)) 用我自己的 _display_name 保存图像,例如:image_101。 jpg 但一段时间后显示名称更改为长号。像 1327392947034.jpg。下次当我用我的 _display_name(image_101.jpg) 获取图像时,它在外部数据库中什么也找不到。谁能告诉我为什么会这样?

谢谢

最佳答案

我相信当 MediaScanner将文件添加到内部 MediaStore.我认为这些数字与 System.currentTimeMillis(); 有关(加盐哈希,或类似的)。我认为这是为了减少文件名冲突的可能性(两个图像具有相同的名称)。

然而,应该有一种方法可以将显示名称与文件名称分开。当您说“我的_display_name”时,您指的是您“添加”的 MediaStore 中的一列(例如“data2”)吗?或者您正在使用 DISPLAY_NAME ( android.provider.MediaStore.MediaColumns ) 列?您还可以考虑将您的自定义名称放在 DESCRIPTION 中专栏。

一种解决方法是在媒体商店中保留您自己的显示名称数据库和 ID 列。

另外,你是如何插入图像的?您使用的是 SQL 查询还是以下之一:

insertImage(ContentResolver cr, String imgPath, String name, String desc)

方法来自 MediaStore.Images.Media

多一点代码会有所帮助,但也许这个答案中的一些内容会有所帮助。

关于android - 图片 _display_name 在 com.android.provider.media/external.db 的外部数据库中更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8985003/

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