获取相册图片及路径

来源:互联网 发布:图片表格识别软件 编辑:程序博客网 时间:2024/06/10 08:59

1.获取相册

m_input.setOnClickListener(new Button.OnClickListener(){@Overridepublic void onClick(View v) {Intent openAlbumIntent = new Intent(Intent.ACTION_GET_CONTENT);//通过“image”判断打开选择图片窗口openAlbumIntent.setType("image/*");startActivityForResult(openAlbumIntent,CHOOSE_PICTURE);}});

2重写onActivityResult以获得你需要的信息

@Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubswitch (requestCode) {case CHOOSE_PICTURE:if(resultCode == RESULT_OK){Uri originalUri = data.getData();try {            //使用ContentProvider通过URI获取原始图片Bitmap bm = MediaStore.Images.Media.getBitmap(resolver, originalUri);String[] proj = {MediaStore.Images.Media.DATA};             //好像是android多媒体数据库的封装接口,具体的看Android文档            Cursor cursor = managedQuery(originalUri, proj, null, null, null);             //按我个人理解 这个是获得用户选择的图片的索引值            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);            //将光标移至开头 ,这个很重要,不小心很容易引起越界            cursor.moveToFirst();            //最后根据索引值获取图片路径            floorplan_path = cursor.getString(column_index);                        File f = new File(floorplan_path);       if (f.exists()) {mZoomView.setImage(floorplan_path);} else {}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} }break;default:break;}}
注:如果图片不替换把addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)改为addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)