美文网首页
安卓Q图片存储与获取

安卓Q图片存储与获取

作者: 陈陈_04d0 | 来源:发表于2020-03-31 18:31 被阅读0次

/**

* 保存图片到目录,Android Q适配,最简单的做法就是保存到公共目录,不用SAF存储

* @param context 

* @param bitmap 

* @param fileName 自定义文件名称 可以仿照我这种(/storage/emulated/0/clippicture)

*/

public Uri saveBitmap( Context context, Bitmap bitmap,String fileName ){

ContentValues contentValues =new ContentValues();

contentValues.put(MediaStore.Images.Media.DISPLAY_NAME, fileName);// 设置显示名称

contentValues.put(MediaStore.Images.Media.DESCRIPTION, fileName); //设置文件说明

contentValues.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");//设置图片类型

Uri uri = context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);//用getContentResolver.insert ()外部存储存放

OutputStrem out=null;

try {

out=context.getContentResolver().openOutputStream(uri);

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);//压缩质量

if( out!=null)

out.close();

out=null;

}catch(Exception e){

e.printStackTrace();

}

return uri;

}

/**

* 根据URI获取bitmap

* @param uri

* @param context

* @return

* @throws IOException

*/

public Bitmap getBitmapFromUri(Context context, Uri uri) throws IOException{

ParcelFileDescriptor parcelFileDescriptor =context.getContentResolver().openFileDescriptor(uri, "r");//相当于读取文件的流

FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();

Bitmap image = BitmapFactory.decodeFileDescriptor(fileDescriptor);

parcelFileDescriptor.close();

return bitmap

}

相关文章

网友评论

      本文标题:安卓Q图片存储与获取

      本文链接:https://www.haomeiwen.com/subject/pyrguhtx.html