Android 打开系统图库实现方法

来源:互联网 发布:上传歌曲到网络qq音乐 编辑:程序博客网 时间:2024/05/22 13:31

1.打开系统图库

Intent intent = new Intent(Intent.ACTION_PICK);//选择intent.setType("image/*");//选择图片startActivityForResult(intent, PICK_CODE);

2.在onActivityResult()方法中获得图片

    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        if (requestCode == PICK_CODE){            if (data != null){                Uri uri = data.getData();                Cursor cursor = getContentResolver().query(uri, null, null, null, null);                cursor.moveToFirst();                int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);                mCurrentPhotoStr = cursor.getString(idx);                cursor.close();                resizePhoto();                mPhoto.setImageBitmap(mPhotoIma);                mTip.setText("Click Dectect ==>");            }        }        super.onActivityResult(requestCode, resultCode, data);    }

3.压缩图片

    /**     * 压缩照片--每张图片不能超过3M     */    private void resizePhoto() {        BitmapFactory.Options options = new BitmapFactory.Options();        options.inJustDecodeBounds = true;        BitmapFactory.decodeFile(mCurrentPhotoStr,options);        double ratio = Math.max(options.outWidth*1.0d/1024,options.outHeight*1.0d/1024);        options.inSampleSize = (int) Math.ceil(ratio);        options.inJustDecodeBounds = false;        mPhotoIma = BitmapFactory.decodeFile(mCurrentPhotoStr, options);    }
原创粉丝点击