700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android 图库管理 Android调用系统图库

android 图库管理 Android调用系统图库

时间:2023-08-11 06:15:54

相关推荐

android 图库管理 Android调用系统图库

上面一篇讲到Android调用系统相机时遇到的兼容性问题,没想到选择系统图库的时候竟然也遇到了系统兼容性问题,在这里记录下解决方案吧。

首先是调用系统默认图库代码:

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(intent, SELECT_PHOTOS_REQUEST_CODE);

下面是关键的拿到图片的处理代码:

public void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

switch (requestCode) {

case SELECT_PHOTOS_REQUEST_CODE:

if (resultCode == RESULT_OK) {

Uri uri = data.getData();

// 取得返回的Uri,基本上选择照片的时候返回的是以Uri形式,但是在拍照中有的机子Uri是空,所以要特别注意

if (uri != null) {

Bitmap image;

try {

// 这个方法是根据Uri获取Bitmap图片的静态方法

image =MediaStore.Images.Media.getBitmap(getContentResolver(), uri); postImage.setImageBitmap(image);

imageLayout.setVisibility(View.VISIBLE);

mUri = uri;

} catch (Exception e) {

e.printStackTrace();

}

} else {

Bundle extras = data.getExtras();

if (extras != null) {

// 这里是有些拍照后的图片是直接存放到Bundle中的所以我们可以从这里面获取Bitmap图片

Bitmap image = extras.getParcelable("data");

if (image != null) {

postImage.setImageBitmap(image);

imageLayout.setVisibility(View.VISIBLE);

mUri = BitmapUtil.getImageUri(ctx, image);

}

}

}

}

break;

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。