android 从系统相册获取一张图片

package net.viralpatel.android.imagegalleray;

 

import android.app.Activity;

import android.content.Intent;

import android.database.Cursor;

import android.graphics.BitmapFactory;

import android.net.Uri;

import android.os.Bundle;

import android.provider.MediaStore;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

 

public class ImageGalleryDemoActivity extends Activity {

 

    private static int RESULT_LOAD_IMAGE = 1;

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

 

        Button buttonLoadImage = (Button) findViewById(R.id.buttonLoadPicture);

        buttonLoadImage.setOnClickListener(new View.OnClickListener() {

 

            @Override

            public void onClick(View arg0) {

 

                Intent i = new Intent(

                        Intent.ACTION_PICK,

                        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

 

                startActivityForResult(i, RESULT_LOAD_IMAGE);

            }

        });

    }

 

    @Override

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

        super.onActivityResult(requestCode, resultCode, data);

 

        if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {

            Uri selectedImage = data.getData();

            String[] filePathColumn = { MediaStore.Images.Media.DATA };

 

            Cursor cursor = getContentResolver().query(selectedImage,

                    filePathColumn, null, null, null);

            cursor.moveToFirst();

 

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);

            String picturePath = cursor.getString(columnIndex);

            cursor.close();

 

            ImageView imageView = (ImageView) findViewById(R.id.imgView);

            imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

 

        }

 

    }

}


来源:http://www.oschina.net/question/157182_53236

你可能感兴趣的:(android)