通过Intent获取本地相册图片

!!!!千万记得加上访问权限!!

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
//一般的应用都要访问网络,加上这个,有备无患
    <uses-permission android:name="android.permission.INTERNET"/>

此方法只能获取一张图片
其中LOCAL_IMAGE_CODE相当于一个ID,连带着intent传出去

Intent intent = new Intent();
            /* 开启Pictures画面Type设定为image */
            intent.setType("image/*");
            /* 使用Intent.ACTION_GET_CONTENT这个Action */
            intent.setAction(Intent.ACTION_GET_CONTENT);
            /* 取得相片后返回本画面 */
            startActivityForResult(intent, LOCAL_IMAGE_CODE);

.
.

在这里接收Intent,并且根据上面传的ID处理对应的事件
其中此方法中的data.getData()方法返回所选图片的uri

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (resultCode == RESULT_OK&&requestCode==LOCAL_IMAGE_CODE) {    
                uri = data.getData();
                cr = this.getContentResolver();    
                try {
                    Bitmap bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri));    
                ImageView imageView = (ImageView) findViewById(R.id.iv01);    
                    /* 将Bitmap设定到ImageView */    
                imageView.setImageBitmap(bitmap);    
                } catch (FileNotFoundException e) {    
                    Log.e("Exception", e.getMessage(),e);    
                }    
      }

你可能感兴趣的:(Intent)