84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
APP中集成了环信得聊天功能,现在需要将聊天中别人发给我的图片保存到本地。请问如何能直接显示在相册中,让用户已下载就可见,让微信发送图片时也能直接找到。
考虑到应该各种机型的情况不同,自己试了下,在魅族上图片保存到DCIM下,魅族的相册能直接看到,但在小米、moto x pro等机型上就不行了。有尝试过使用广播,但那广播貌似需要一定api之下才能使用。也使用过MediaScanner等扫描的办法。
请问有什么较好的解决办法嘛?让app下载的图片能直接显示在相册中。谢谢。
闭关修行中......
你这个问题我也遇过,试一下我下面给出的方法。小米,魅簇都可以...
public static void saveImageToGallery(Context context, Bitmap bmp) { if (bmp == null){ ToastUtils.show(context, "保存出错了..."); return; } // 首先保存图片 File appDir = new File(BaseApplication.app.getTmpDir(), "ywq"); if (!appDir.exists()) { appDir.mkdir(); } String fileName = System.currentTimeMillis() + ".jpg"; File file = new File(appDir, fileName); try { FileOutputStream fos = new FileOutputStream(file); bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); } catch (FileNotFoundException e) { ToastUtils.show(context, "文件未发现"); e.printStackTrace(); } catch (IOException e) { ToastUtils.show(context, "保存出错了..."); e.printStackTrace(); }catch (Exception e){ ToastUtils.show(context, "保存出错了..."); e.printStackTrace(); } // 最后通知图库更新 try { MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), fileName, null); } catch (FileNotFoundException e) { e.printStackTrace(); } Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri uri = Uri.fromFile(file); intent.setData(uri); context.sendBroadcast(intent); ToastUtils.show(context, "保存成功了..."); }
放到图片目录下啊。。Picture这个目录在下面建立一个你的目录随意叫什么(和Screenshots 截图目录同级别)即可。
Picture
随意叫什么
一般DICM里面是保存拍照的,你需要建立和Camera同级别的目录,否则有可能不会列入某些选择器列表。同时,也是不推荐把网络图片保存到DICM文件夹的。因为这不科学。
直接放到相册里~
你这个问题我也遇过,试一下我下面给出的方法。小米,魅簇都可以...
放到图片目录下啊。。
Picture
这个目录在下面建立一个你的目录
随意叫什么
(和Screenshots 截图目录同级别)即可。
一般DICM里面是保存拍照的,你需要建立和Camera同级别的目录,否则有可能不会列入某些选择器列表。
同时,也是不推荐把网络图片保存到DICM文件夹的。因为这不科学。
直接放到相册里~