识别图片格式

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(mFile.getAbsolutePath(), options);
String type = options.outMimeType;
if (TextUtils.isEmpty(type)) {type = "未能识别的图片";
} else {type = type.substring(6, type.length());
}
System.out.println("文件格式是:" + type);
 
将图片插入到系统相册
 
MediaStore.Images.Media.insertImage(mContext.getContentResolver(), mFile.getAbsolutePath(), System.currentTimeMillis() + "." + type, null);
 
更新相册
Uri uri = Uri.fromFile(mFile);
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
mContext.sendBroadcast(intent);
采用glide下载图片
 
Glide.with(mContext).load(imgUrl).downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).get();
如下
 
new Thread(new Runnable() { @Override  public void run() { File mFile = null; try { mFile = Glide.with(mContext).load(imgUrl).downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).get(); if (mFile != null && mContext != null) { BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(mFile.getAbsolutePath(), options); String type = options.outMimeType; if (TextUtils.isEmpty(type)) { type = "未能识别的图片"; } else { type = type.substring(6, type.length()); } System.out.println("文件格式是:" + type); MediaStore.Images.Media.insertImage(mContext.getContentResolver(), mFile.getAbsolutePath(), System.currentTimeMillis() + "." + type, null); //更新相册  Uri uri = Uri.fromFile(mFile); Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri); mContext.sendBroadcast(intent); } } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }).start();
第二种方法--通过系统下载图片
 
private void downloadImageBySystem(String dowloadPath) { final DownloadManager dManager = (DownloadManager) mContext.getSystemService(Context.DOWNLOAD_SERVICE); Uri uri = Uri.parse(dowloadPath); DownloadManager.Request request = new DownloadManager.Request(uri); // 设置下载路径和文件名  File file = new File(saveImagePath); //如果file不存在,就创建这个file  if (!file.exists()) { file.mkdir(); } request.setDestinationInExternalPublicDir(saveImagePath, dowloadPath.substring(dowloadPath.lastIndexOf("/")+1, dowloadPath.length())); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); request.setMimeType("application/vnd.android.package-archive"); // 设置为可被媒体扫描器找到  request.allowScanningByMediaScanner(); // 设置为可见和可管理  request.setVisibleInDownloadsUi(true); // 获取此次下载的ID  final long refernece = dManager.enqueue(request); // 注册广播接收器,当下载完成时自动安装  IntentFilter filter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE); BroadcastReceiver receiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { long myDwonloadID = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1); if (refernece == myDwonloadID) { LogUtils.e("下载完成"); } } }; mContext.registerReceiver(receiver, filter); }

这种方式最简单

 
 
 

android 下载图片到相册相关推荐

  1. Android下载图片到相册

    下载类,可以url下载,也可以本地的drawable下载到相册,记得在清单加权限,6.0代码动态加权限判断,下载图片要在子线程中下载,下载完后广播更新相册 代码下载地址:链接:https://pan. ...

  2. 26.Android 下载图片保存到相册

    26.Android 下载图片保存到相册 Android 下载图片保存到相册 前言 实现思路 自定义Dialog 自定义Handler 自定义AsyncTask AndroidManifest配置权限 ...

  3. android 下载图片并刷新相册

    public class HelpOpenFileUtils {/*** 读写权限*/protected static final int WRITE_PERMISSION = 20003;prote ...

  4. 微信小程序下载图片获取相册授权,保存视频或图片到手机相册

    单独建一个downloadfile.js,将方法导出: downloadfile.js文件: //downloadfile.js/*** 下载单个文件*/ function downloadFile( ...

  5. android下载图片 服务器,Android网络客户端从服务器电脑上下载图片

    前言,bitmap位图,后缀名.bmp/.dip,图片的一种编码格式,一张图片由多个像素组成,每个像素可以表达多种色彩.bitmap是inputStream.drawable.byte[].outpu ...

  6. Android下载图片路径问题

    ============问题描述============ 下图一是我MyEclipse中项目的WebRoot文件夹,test01_upload存储的是用户上传的图片,test01_upload_1.j ...

  7. android下载图片服务,Android中的背景图片下载需要帮助吗?

    Sameer Z... 16 使用像我从服务器下载文件并放入SD卡的服务下载它的最佳方式也使用通知.它是相当长的代码,但我认为完美的一个,如果不明白任何事情,那么请去android开发者博客的服务. ...

  8. Android下载图片并添加图片水印

    给图片添加水印 /**** 添加图片水印* @param srcBitmap 源图像* @param watermark 水印图像* @return*/private static Bitmap cr ...

  9. Android中将图片从相册取出且获取到图片在手机中的地址

    1. private final String IMAGE_TYPE = "image/*"; private final int IMAGE_CODE = 0;   //这里的I ...

最新文章

  1. visualStudio创建项目过程
  2. python安装不了jieba_python安装jieba失败怎么办?_后端开发
  3. Python运算符和编码
  4. 获取拍照图片,显示大图像
  5. java 多线程统计质数,Java 七 多线程计算某个范围内的质数
  6. win10系统上玩纸牌游戏
  7. VM16 安装win 11
  8. hdlbits刷题记录
  9. 自动注册gmail邮箱构想
  10. 要点初见:开源AI绘画工具Stable Diffusion代码分析(文本转图像)、论文介绍(下)
  11. 绿色版软件怎么添加鼠标右键菜单里
  12. java ssm野生动物公益保护网站系统
  13. 计嵌 廖峻 20178303040 C++作业
  14. wafw00f--一款基于python识别网站WAF的工具
  15. 上海考生:FRM证书在能享受什么福利?其他地区呢?
  16. 不属于神经网络常用算法,神经网络算法包括哪些
  17. 修改const指针所指向的值
  18. 【XSY2271】青蛙(栈)
  19. Windows 之 win SMB(smb) 功能的开启设置和使用的简单说明
  20. 投标任性,围标串标一查实,扫黑除恶,现在投标必须签订一样协议

热门文章

  1. 机器学习基础思维导图
  2. Ubuntu加载移动硬盘
  3. 【计组】CPU的工作过程
  4. python全栈开发实践入门_讲书3分钟丨《Python全栈开发实践入门》 -讲书人 谢瑛俊...
  5. 怎样在c语言中声明list这一变量,C语言变量赋值语句的语法解析算法实现
  6. stm32驱动lcd段码io配置_LCD驱动型单片机与段码液晶屏配合使用参考
  7. logisim运算器设计逻辑图
  8. thinkbook 如何连接手机投屏
  9. c语言万年历编程规律,用C语言如何编写“万年历”
  10. 【模型检索】基于特征线条的三维模型检索方法