android 调用系统的图片选择

时间:2023-02-15 09:59:50


有些项目中需要调用系统的图片选择,这里说一下发现的问题
一般情况写的时候会调用

Intent openAlbumIntent = new Intent(Intent.ACTION_PICK);
// openAlbumIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
/***************裁剪**************/
// openAlbumIntent.putExtra("crop", "true");
// openAlbumIntent.putExtra("aspectX", 1); //如果xy都为100则是截取圆形
// openAlbumIntent.putExtra("aspectY",1);
/*************裁剪结束***************/
// openAlbumIntent.putExtra("outputX", PhoneUtil.getDisplayWidth(getActivity()));
// openAlbumIntent.putExtra("outputY", PhoneUtil.getDisplayHeight(getActivity()));
// openAlbumIntent.putExtra("return-data", true); //是否要返回值,如果不写这个返回的数据里data是空的
// openAlbumIntent.putExtra("outputFormat", "JPEG");
// openAlbumIntent.putExtra("noFaceDetection", true); //取消人脸识别功能
// intent.setType("audio/*"); //
openAlbumIntent.setType("image/*"); //图片
// intent.setType("audio/amr"); //录音
// Intent wrapperIntent = Intent.createChooser(openAlbumIntent, null); //第二个参数是标题
startActivityForResult(openAlbumIntent, 2001);


设置很多参数,但有些机型在选择的时候会选择不了图片,我在sony的android手机上发现这问题,注意的几点:


1.一定要在new Intent(Intent.ACTION_PICK)这里写ACTION_PICK


2.不要用openAlbumIntent.setDataAndType这个设置选择图片类型,用openAlbumIntent.setType("image/*")


3.其它所有参数都不能设置,一但设置某些手机调用系统选择图片会选择不了