簡體   English   中英

編輯圖像后如何更新android畫廊的縮略圖預覽

[英]how to update thumbnails preview of android gallery after image edited

可能重復

使用MediaScanner刷新縮略圖

我有關於內置畫廊的android中縮略圖更新的問題。 實際上,我已經打開,編輯並保存了在圖庫中選擇的圖像。

我打開離開圖庫,然后再次打開圖庫,然后該圖像的縮略圖不會更新。 但是,我選擇圖像,它確實是編輯版本。

有人對此有解決方案嗎? 我已經搜索了,但是我得到了有關使用sendBroadcast()刷新圖庫的答案,該似乎無法更新圖像預覽。

編輯

我不想刪除現有文件,因為假設用戶要使用其他名稱保存文件,則該文件不受影響

我找到了解決此問題的方法,在請求新縮略圖之前,您需要刪除舊縮略圖。 為此使用MediaStore和ContentResolver

private static void removeThumbnails(ContentResolver contentResolver, long photoId) {
Cursor thumbnails = contentResolver.query(Thumbnails.EXTERNAL_CONTENT_URI, null, Thumbnails.IMAGE_ID + "=?", new String[]{String.valueOf(photoId)}, null);
for (thumbnails.moveToFirst(); !thumbnails.isAfterLast(); thumbnails.moveToNext()) {

    long thumbnailId = thumbnails.getLong(thumbnails.getColumnIndex(Thumbnails._ID));
    String path = thumbnails.getString(thumbnails.getColumnIndex(Thumbnails.DATA));
    File file = new File(path);
    if (file.delete()) {

        contentResolver.delete(Thumbnails.EXTERNAL_CONTENT_URI, Thumbnails._ID + "=?", new String[]{String.valueOf(thumbnailId)});

    }

}

您可以從其URI獲取photoId,從文件名獲取URI,只需創建File並從中解析URI

Uri uri = Uri.fromFile(file);

兩個建議。

  • 嘗試getThumbnail 我希望從javadoc中重新生成最新的縮略圖。
  • 如果那不能更新縮略圖,請嘗試刪除縮略圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM