【问题标题】:Android image files deleted from com.android.providers.media/albumthumbs on reboot重新启动时从 com.android.providers.media/albumthumbs 删除的 Android 图像文件
【发布时间】:2013-09-04 05:28:46
【问题描述】:

我的应用正在使用文件夹 /storage/emulated/0/Android/data/com.android.providers.media/albumthumbs 中的图像。当我更改语言并重新启动手机时,它正在从/storage/emulated/0/Android/data/com.android.providers.media/albumthumbs. 中删除图像文件现在要在该文件夹中重新创建图像文件,我必须启动本机媒体播放器。

我正在使用 Galacy S4,当我将语言更改为韩语时经常出现问题。

有人知道为什么它会在语言更改和重新启动时删除文件,以及我可以在我的应用程序中使用哪个操作来重新创建 /com.android.providers.media/albumthumb 中的图像文件,就像它们在本机媒体播放器中使用的一样。

如果我从/com.android.providers.media/albumthumbs 中删除所有图像,我如何在启动我的应用程序时再次填充音乐文件的图像。就像我启动三星音乐播放器的谷歌音乐一样,文件夹中会创建图像。如何在我的应用启动时做到这一点。

【问题讨论】:

  • 如果我从 /com.android.providers.media/albumthumbs 中删除所有图像,如何在启动我的应用程序时再次填充音乐文件的图像。就像我启动三星音乐播放器的谷歌音乐一样,文件夹中会创建图像。如何在我的应用启动时做到这一点。

标签: android android-contentprovider android-mediascanner


【解决方案1】:

也许为时已晚,但我在我的应用程序中遇到了同样的问题。 以下是对我有用的解决方法

首先我加载 vie 媒体商店的所有专辑封面。所以我可以获得一些文件路径但没有文件因此开始我检查文件是否存在

File f = new File(coverPath);

if(!f.exists()){

}

如果没有,我会这样做

public void loadAlbumArtById(long id) {
    try {
        Uri songCover = Uri.parse("content://media/external/audio/albumart");
        Uri uriSongCover = ContentUris.withAppendedId(songCover, id);
        ContentResolver res = this.context.getContentResolver();

        InputStream in = res.openInputStream(uriSongCover);
    } catch (Exception ex) {
        // do something
    }
}

其中 Id 是来自媒体商店的专辑 ID (MediaStore.Audio.Albums._ID) 运行此功能后,艺术再次可用,我不知道为什么,但它对我有用

【讨论】:

    最近更新 更多