Search This Blog

Thursday, January 12, 2017

Cách mở thư viện ảnh và lấy địa chỉ ảnh

// su kien click nuimageViewAnhNguoiAy.setOnClickListener(new View.OnClickListener() {
    @Override    public void onClick(View v) {
        Intent intent = new Intent(Intent.ACTION_PICK);
        intent.setType("image/*");
        startActivityForResult(Intent.createChooser(intent,
                "Chọn ảnh"), SELECT_PICTURE);
    }
});

// hàm nhận kết quả chọn
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == Activity.RESULT_OK) {
        if (requestCode == SELECT_PICTURE) {
            Uri selectedImageUri = data.getData();
            String imagePath = getPath(selectedImageUri);
            Toast.makeText(getApplicationContext(), "" + imagePath, Toast.LENGTH_LONG).show();
        }
    }
}

// hàm lấy đường dẫn
public String getPath(Uri uri) {
    if( uri == null ) {
        return null;
    }
    String[] projection = {
        MediaStore.Images.Media.DATA    };
    Cursor cursor =  getContentResolver().query(uri, projection, null, null, null);
    if( cursor != null ){
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        String path = cursor.getString(column_index);
        cursor.close();
        return path;
    }
    // this is our fallback here    return uri.getPath();
}

No comments:

Post a Comment