安卓开发:跳转至图库并返回该图片资源

在安卓的实际开发中经常使用的需要从应用界面跳转至相册(图库)去获取图片资源,并将其应用于项目中,其实在安卓的原生系统中已经为我们提供好了接口,我们只需要通过URI跳转即可。通过以下三步:
第一步:由于使用的是startActivityForResult跳转的,因此需要定义返回码:

Private static final int IMAGE_SWITCH_CODE1=666;

第二步:通过Intent 跳转至图片资源界面,通过点击选择,获取图片资源自动返回。该操作主要是通过uri访问图片资源文件,MediaStore.Images.Media.EXTERNAL_CONTENT_URI,同样如果想跳转至音频文件,只需要将其改为MediaStore.Video.Media.EXTERNAL_CONTENT_URI即可。

Intent intent = new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent,requestCode);

第三步:重写onActivityResult方法,并处理返回的图片资源:

Protected void onActivityResult(int requestCode,int resultCode,Intent data){
if(resultCode==RESULT_OK&&null!=data){
Uri uriData=data.getData();
String[]filePathColum={MediaStore.Images.Media.DATA};
Cursorcursor = getContentResolver().query(uriData,filePathColum,null,null,null);
cursor.moveToFirst();
Int columnIndex = cursor.getColumnIndex(filePathColum[0]);
String imageFile=cursor.getString(columnIndex);
cursor.close();
Log.i(TAG,"onActivityResult:"+imageFile);
Bitmap bitmap=BitmapFactory.decodeFile(imageFile);
if(requestCode==IMAGE_SWITCH_CODE1){
    //处理图片资源的逻辑;
}

}}

猜你喜欢

转载自blog.csdn.net/xk7298/article/details/81603791