Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
图像显示名称在com.android.provider.media/external.db的外部数据库中更改_Android - Fatal编程技术网

图像显示名称在com.android.provider.media/external.db的外部数据库中更改

图像显示名称在com.android.provider.media/external.db的外部数据库中更改,android,Android,我在我的应用程序中使用MediaStore.Images.Media.EXTERNAL_CONTENT_URI(EXTERNAL DB::data/data/com.android.provider.Media/EXTERNAL.DB))以我自己的_display_名称保存图像,例如:image_101.jpg,但过了一段时间后,显示名称变为长号,如1327392947034.jpg。下次当我用我的_display_name(image_101.jpg)获取图像时,它在外部数据库中找不到任何东西

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


谢谢

我相信当
MediaScanner
将文件添加到内部
MediaStore时会发生这种情况。
我认为这些数字与
System.currentTimeMillis()有关(盐渍哈希或类似)。我认为这是为了减少可能的文件名冲突(两个同名图像)

但是,应该有一种方法将显示名与文件名分开。当你说“my _display_name”时,你指的是你“添加”的MediaStore中的一列(例如“data2”)?或者您正在使用
DISPLAY\u NAME
android.provider.MediaStore.MediaColumns
)列?您还可以在
DESCRIPTION
列中输入自定义名称

一种解决方法是在媒体存储中保留自己的显示名称数据库,其中包含一列ID

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

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

方法来自
MediaStore.Images.Media

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