Android --- 调用MediaStore.Images.Media.insertImage保存图片时生成两张图片的问题
生活随笔
收集整理的這篇文章主要介紹了
Android --- 调用MediaStore.Images.Media.insertImage保存图片时生成两张图片的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
開發中我們有時候需要將app中的圖片導出到相冊,調用系統提供的
MediaStore.Images.Media.insertImage
方法可以達到我們的目的,但是會發現在相冊中生成了兩張內容一樣的圖片,一張是以我們設置的命名方式命名的(具體步驟可以查看insertImage用法),另一張則是系統幫我們生成的根據當前時間命名的縮略圖。
查看insertImage的源碼,我們發現保存圖片其實是通過以下代碼做到的:
后面的代碼則是生成縮略圖用的,那么我們在使用的時候剝離出這部分我們需要的代碼即可,也就是在原來使用
MediaStore.Images.Media.insertImage(getContext().getContentResolver(),path_export, file_export.getName(), file_export.getName());的地方,使用以下代碼替換它就行了:
ContentValues values = new ContentValues();values.put(MediaStore.Images.Media.DATA, file_export.getAbsolutePath());values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");Uri uri = this.getContext().getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);當然,最后別忘了發送廣播提醒系統檢索我們導出的圖片,否則不會顯示:
getContext().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + path_export)));//path_export是你導出的文件路徑總結
以上是生活随笔為你收集整理的Android --- 调用MediaStore.Images.Media.insertImage保存图片时生成两张图片的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GitHub 为什么有些时候进去特变慢
- 下一篇: Android --- Recycler