安卓保存网络图片并通知图库更新

最近有个需求刚好是这个,但是发现网络图片保存到手机后图库并没有及时刷新出来,捣鼓了一上午终于搞出来了


废话不说直接上代码:
首先是写个异步请求网络图片

//  异步任务  直接传图片地址public void addTask(String url) {new AsyncTask<String, Void, Bitmap>() {@Overrideprotected Bitmap doInBackground(String... params) {// 后台通信  return decodeBitmap(params[0]);}@Overrideprotected void onPostExecute(Bitmap bitmap) {// 主线程处理viewif (bitmap != null) {//保存saveImageToGallery(context, bitmap);}}}.execute(url);}

接着是url 转为bitmap的方法

 /*** url  到  bitmap* @param httpUrl* @return*/private Bitmap decodeBitmap(String httpUrl) {URL url = null;Bitmap bm = null;try {url = new URL(httpUrl);} catch (MalformedURLException e) {e.printStackTrace();}try {InputStream in = url.openStream();bm = BitmapFactory.decodeStream(in);} catch (IOException e) {e.printStackTrace();}return bm;}

接下来是保存bitmap到本地通知图库的方法

 /*** 保存图片到图库的方法** @param context* @param bmp*/public void saveImageToGallery(Context context, Bitmap bmp) {// 首先保存图片File appDir = new File(Environment.getExternalStorageDirectory(), "picdir");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) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}// 其次把文件插入到系统图库try {Toast.makeText(context, "保存图片", Toast.LENGTH_SHORT).show();MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), fileName, null);} catch (Exception e) {e.printStackTrace();}// 最后通知图库更新context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + Environment.getExternalStorageDirectory() + "/picdir")));
// Uri uri = Uri.fromFile(file);       //file  是你图片的路径   直接更新图片的路径更好(建议使用)
//        context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri));Toast.makeText(context, "图库更新成功", Toast.LENGTH_SHORT).show();}

附上调用的片段吧:

好了,就是如此简单.注意6.0以上直接访问读写文件需要注意检查权限!!!

关于安卓保存网络图片并更新图库相关推荐

  1. 安卓手机能用signal吗_现在的安卓手机可以直接更新成鸿蒙系统吗?还是必须购买新的手机?...

    现在的安卓手机可以直接更新成鸿蒙系统么?还是必须购买新的手机? 这个问题的决定者在于华为,从实际意义上面来讲的话,安卓手机的互刷是可以的,因为现在安卓手机底层架构都是一样的,我们互刷只是每个厂商的基于 ...

  2. wavecn 2.0.0.5 正式版_微信7.0.5怎么更新?微信7.0.5安卓版下载与更新升级教程

    6月29日,腾讯发布了微信7.0.5安卓正式版,带来了不少细节变化,不过很多安卓机用户反馈并没有接收到推送,不少粉丝朋友表示不知道微信7.0.5怎么更新升级.今天,芝麻科技网详细介绍下微信7.0.5安 ...

  3. mix2s 升级android p,小米推送小米MIX2S 安卓P稳定版更新 这两个隐藏升级你发现了吗?...

    原标题:小米推送小米MIX2S 安卓P稳定版更新 这两个隐藏升级你发现了吗? 今天上午,小米推送了小米MIX2S的稳定版更新,版本号为MIUI V10.0.4.0,体积为2GB,这一次更新将系统底层更 ...

  4. 小米 android 8.1手机,小米又一款手机获得安卓8.1系统更新!

    原标题:小米又一款手机获得安卓8.1系统更新! 如今,对于华为.小米.OPPO.vivo等智能手机厂商,不仅在硬件配置上不断升级和创新,也在软件系统上不断更新,比如升级到Android 8.0系统等. ...

  5. EasyClick更新图库

    EasyClick更新图库 EasyClick 更新Android 手机图库 代码如下,非root环境shell使用代理模式函数执行,自行测试. // 更新图库文件夹 -d 后面的为文件夹路径 she ...

  6. 安卓机更新系统会卡吗_安卓手机系统“越更新越卡”?或许和这4个原因有关,早看早知道...

    安卓手机系统"越更新越卡"?或许和这4个原因有关,早看早知道 现如今,手机已经成为了我们日常生活中必不可少的一个通讯工具了.有了手机之后,我们不仅在生活上变得更方便快捷了,而且还有 ...

  7. 诺基亚n1系统更新显示无网络_国行版诺基亚8 Sirocco推送安卓9.0系统更新

    诺基亚资讯消息:日前国行版诺基亚8 Sirocco用户反馈已经陆续收到官方推送安卓9 Pie系统更新.本次更新版本为Android 9.0 Pie(V4.120),更新包大小为1379.5MB. (图 ...

  8. UniAPP 安卓应用版本自动更新及下载安装

    一. 前言 近期进行 Uniapp 的开发,在项目发布的最后需要实现版本的自动检测和更新下载功能 特地在此进行文章的整理,以方便道友们减少前进道路上的坎坷,多谢指摘 - 注: 本次指导,以更新 安卓应 ...

  9. 苹果android怎么升级,微信系统大升级,苹果安卓手机如何升级更新为最新版微信8.0?...

    原标题:微信系统大升级,苹果安卓手机如何升级更新为最新版微信8.0? 昨天,微信发布了最新版微信8.0.与以往不同的是,作为一款已风靡十年的社交产品,微信此次版本更新带来许多全新玩法和小创意. 目前苹 ...

最新文章

  1. 干货 | 抖音漫画效果解密
  2. 微指令地址的形成方式_交换那些事儿 | 基础维护篇 IPv6地址分类及配置方法
  3. Linux(ubuntu)下安装JDK
  4. 1.2 初窥输入输出、控制语句
  5. 【机器学习】什么是机器学习?(上)
  6. boost库 python_Boost.Python简介-阿里云开发者社区
  7. 前端学习(586):在元素中动态添加类与伪类
  8. arcgis批量按掩膜提取栅格
  9. 福师计算机在线作业一2,福师《计算机》在线作业二答案.doc
  10. (2)PCIE简介(学无止境)
  11. Function eregi() is deprecated
  12. 勒索病毒WannaCry(永恒之蓝)
  13. linux apache php.ini,Linux Apache的.htaccess控制php.ini 与MIME类型
  14. Atitit 网络设备的自动发现机制 需求如下: 1、自动获取当前设备所在网段及当前与当前网段有连接的网段的所有IP,并判断出是哪类设备。如:服务器、交换机、防火墙等。 2、如何根据第1点得到的
  15. CAD插件的安装和自动加载dll、arx
  16. python批量修改图片尺寸
  17. 关于MSXML3.dll与MSXML6.dll
  18. pandas学习(四)之数据填充
  19. 在线Java/C++/C语言/Python/web网页编辑器(IDE)整理
  20. ESXi虚拟机导出为OVF模板

热门文章

  1. 读《测试构架师修炼之道》-Chapter1、2 测试人的职业规划
  2. ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接
  3. 抽象类、接口、Objext 详解
  4. 优麒麟 19.04 正式版发布,激流勇进,精益求精!
  5. 鲜花就该插牛粪!研究证明美女嫁丑男婚姻更幸福(转)
  6. 中兴交换机配置练习-数据通信技术
  7. Russian Dolls on the Christmas Tree
  8. 【网关路由测试】——网关状态转换测试
  9. 单相LCL型并网逆变器电容电流反馈有源阻尼控制实现
  10. firefox不兼容java,JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结