日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Android 圖片保存到相冊不顯示的解決方案(兼容Android 10及更高版本)

瀏覽:24日期:2022-09-19 10:31:56
前言

寫了一個demo,簡單邏輯就是:在一個圖片上添加一行文字或者是水印,并且保存到系統相冊,也就是我們手機上的圖庫。前面編輯圖片添加水印都沒有問題,到后面保存到系統相冊出現了問題:顯示不出來圖片。

問題

在 Android 10 之前保存系統相冊的三步驟:

保存圖片到手機 把圖片插入到手機圖庫 發廣播更新

代碼如下:

public static void savePhotoAlbum(Context context, Bitmap bmp) { // 首先保存圖片 File appDir = new File(Environment.getExternalStorageDirectory(), 'Boohee'); if (!appDir.exists()) {appDir.mkdir(); } String fileName = System.currentTimeMillis() + '.jpg'; File file = new File(appDir, fileName); try {FileOutputStream fos = new FileOutputStream(file);bmp.compress(CompressFormat.JPEG, 100, fos);fos.flush();fos.close(); } catch (FileNotFoundException e) {e.printStackTrace(); } catch (IOException e) {e.printStackTrace();}// 其次把文件插入到系統圖庫 try {MediaStore.Images.Media.insertImage(context.getContentResolver(),file.getAbsolutePath(), fileName, null); } catch (FileNotFoundException e) {e.printStackTrace(); } // 最后通知圖庫更新 context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse('file://' + path)));}

出現的問題:圖片不顯示,也就是說沒有更新到系統圖庫中。

細心的小伙伴會發現,上段代碼有兩處地方廢棄的方法:

MediaStore.Images.Media.insertImage(context.getContentResolver(),file.getAbsolutePath(), fileName, null);

context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse('file://' + path)));解決問題

下面是解決上面的問題,并兼容 Android10 版本:

/** * 添加水印并保存到系統相冊 */ private void imgMerge() {new Thread(() -> { try {Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.test);File file = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), 'newFile.jpg');if (!file.exists()) { file.createNewFile();}//添加水印文字位置。Bitmap newBitmap = addTextWatermark(bitmap, '測試demo示例');//保存到系統相冊savePhotoAlbum(newBitmap, file); } catch (Exception e) {e.printStackTrace(); }}).start(); }/** * 保存到相冊 * * @param src 源圖片 * @param file 要保存到的文件 */ private void savePhotoAlbum(Bitmap src, File file) {if (isEmptyBitmap(src)) { return;}//先保存到文件OutputStream outputStream;try { outputStream = new BufferedOutputStream(new FileOutputStream(file)); src.compress(Bitmap.CompressFormat.JPEG, 100, outputStream); if (!src.isRecycled()) {src.recycle(); }} catch (FileNotFoundException e) { e.printStackTrace();}//再更新圖庫if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { ContentValues values = new ContentValues(); values.put(MediaStore.MediaColumns.DISPLAY_NAME, file.getName()); values.put(MediaStore.MediaColumns.MIME_TYPE, getMimeType(file)); values.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_DCIM); ContentResolver contentResolver = getContentResolver(); Uri uri = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); if (uri == null) {return; } try {outputStream = contentResolver.openOutputStream(uri);FileInputStream fileInputStream = new FileInputStream(file);FileUtils.copy(fileInputStream, outputStream);fileInputStream.close();outputStream.close(); } catch (IOException e) {e.printStackTrace(); }} else { MediaScannerConnection.scanFile( getApplicationContext(), new String[]{file.getAbsolutePath()}, new String[]{'image/jpeg'}, (path, uri) -> {// Scan Completed });} }

發送廣播和插入MediaProvider兩種方式添加圖片到相冊,這兩種方式已經官方廢棄了。在 Android 10版本以及更高版本使用上面的方法,才能有效解決不顯示圖片的問題。

做個記錄!

以上就是Android 圖片保存到系統相冊不顯示的解決方案(兼容Android 10及更高版本)的詳細內容,更多關于Android 圖片保存到相冊不顯示的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品综合色区在线观看| 99riav1国产精品视频| 久久xxxx| 蜜臀av亚洲一区中文字幕| 鲁大师成人一区二区三区| 日韩影院在线观看| 国产一区 二区| 精品国产成人| 日韩一区二区久久| 欧美亚洲专区| 吉吉日韩欧美| 伊人www22综合色| 粉嫩av一区二区三区四区五区| 日韩美女精品| 久久精品72免费观看| 高清一区二区三区av| 激情综合自拍| 日本成人中文字幕在线视频| 精品不卡一区| 99视频精品免费观看| 欧美亚洲专区| 日韩欧美看国产| 亚洲专区视频| 成人精品久久| 欧美亚洲人成在线| 亚洲欧洲一区| 日韩不卡免费高清视频| 久久激情五月激情| 久久影院一区| 激情不卡一区二区三区视频在线| 国产亚洲一级| 蜜桃精品在线| 欧美交a欧美精品喷水| 蜜桃av一区二区在线观看| 吉吉日韩欧美| 免费亚洲婷婷| 日韩精品视频网站| 欧美国产91| 特黄毛片在线观看| 国产极品模特精品一二| 亚洲美女91| 午夜精品免费| 在线天堂中文资源最新版| 伊人久久成人| 色爱综合网欧美| 国产精品天堂蜜av在线播放| 在线亚洲激情| 影音国产精品| 欧美午夜不卡| 日韩一区欧美| 麻豆免费精品视频| 婷婷成人在线| 国产极品模特精品一二| 91精品在线免费视频| 国产午夜久久| 久久精品欧美一区| 欧美aa在线观看| 国产aⅴ精品一区二区四区| 亚洲免费一区三区| 一区二区电影在线观看| 里番精品3d一二三区| 亚洲精品乱码日韩| 激情视频一区二区三区| 久热re这里精品视频在线6| 久久久久国产| 亚洲欧美日本国产| 久久亚洲专区| 亚洲综合电影| 国产欧美日韩| 国产精品毛片一区二区三区| 88久久精品| 国产不卡精品| 国产在线看片免费视频在线观看| 久久国产日本精品| 免费观看久久av| 色网在线免费观看| 国产精品一区二区99| 免费在线小视频| 免费视频一区二区| 制服诱惑一区二区| 亚洲精品一区二区在线播放∴| 亚洲免费影院| 久久av影视| 999久久久亚洲| 国语精品一区| 精品久久久久久久| 深夜福利视频一区二区| 四虎884aa成人精品最新| 久久精品亚洲一区二区| 好看不卡的中文字幕| 久久国产电影| 蜜臀va亚洲va欧美va天堂| 亚洲福利国产| 国产成人精选| 欧美激情麻豆| 视频一区中文字幕| 亚洲精品四区| 成人免费一区| 激情视频一区二区三区| 欧美伊人久久| 日韩综合在线| 亚洲欧美日本国产| av日韩中文| 日韩在线一区二区| 日本午夜精品一区二区三区电影 | 日韩午夜视频在线| 国产精品欧美在线观看| 精精国产xxxx视频在线野外| 婷婷精品在线| 亚洲一级网站| 国产精品久久观看| 日韩亚洲在线| 美女精品一区| 日本亚洲欧洲无免费码在线| 亚洲黑丝一区二区| 成人日韩av| 国产亚洲高清一区| 亚洲综合日本| 亚洲尤物av| 日韩在线卡一卡二| 日韩国产在线不卡视频| 亚洲特色特黄| 久久精品国产亚洲aⅴ| 在线天堂资源www在线污| 精品国产亚洲日本| 日韩二区三区在线观看| 波多野结衣一区| 亚洲深夜av| 伊人久久成人| 婷婷五月色综合香五月| 蜜桃久久精品一区二区| 久久亚洲电影| 男人的天堂久久精品| 日韩高清成人| 国产一区丝袜| 捆绑调教美女网站视频一区| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲欧美综合| 国产精品外国| 玖玖精品视频| 国产美女一区| 99久久久久国产精品| 福利欧美精品在线| 国产中文字幕一区二区三区| 国产精品s色| 国产精品一区二区三区av| 久久亚洲精品伦理| 亚洲美女久久| 乱一区二区av| 日韩亚洲国产欧美| 日韩在线一二三区| 精品国产乱码久久久久久樱花| 夜夜精品视频| 国产高潮在线| 一区二区亚洲视频| 999国产精品| 日韩激情视频网站| 免费日韩精品中文字幕视频在线| 日本精品另类| 青草综合视频| 精品亚洲a∨| 日韩精品a在线观看91| 日韩欧美看国产| 国产传媒在线观看| 亚洲精品三级| 国产一区二区三区四区大秀| 成人精品亚洲| 日韩av中文字幕一区二区| 成午夜精品一区二区三区软件| 在线成人直播| 国产一卡不卡| av一区二区高清| 久久伊人亚洲| 亚洲精品小说| 青青伊人久久| 中文另类视频| 日韩一区精品| 蜜臀久久精品| 亚洲一区av| 久久精品青草| 精品久久久亚洲| 日本精品在线播放| 中文字幕一区二区三区四区久久| a天堂资源在线| 国产精品久久久久久久久久齐齐 | 日本精品久久| 99精品在线| 91视频久久| 免费一级欧美片在线观看网站 | 日韩av电影一区| 亚洲一区网站| 久久婷婷av| 亚洲www啪成人一区二区| 麻豆国产欧美一区二区三区| 亚洲精品自拍| 午夜国产精品视频| 国产毛片久久| 99视频精品全部免费在线视频| 99视频精品视频高清免费| 婷婷综合六月|