Open device gallery

Asked

Viewed 6,785 times

3

People need to open the android gallery to be able to select an image and save after the way to whenever open the app load the image anyone could know how to do this? if you have any tutorial on how to open Gallery already help

2 answers

4


Here’s an answer based on SOEN:

public class BrowsePictureActivity extends Activity {

        // Este é o código de ação que usamos no intent,
        // Desta forma sabemos que estamos a olhar para a resposta da nossa própria ação.
        private static final int SELECT_PICTURE = 1;

        private String selectedImagePath;

        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            ((Button) findViewById(R.id.Button01))
                    .setOnClickListener(new OnClickListener() {

                        public void onClick(View arg0) {

                            // No onCreate ou qualquer evento onde quiser selecionar um arquivo
                            Intent intent = new Intent();
                            intent.setType("image/*");
                            intent.setAction(Intent.ACTION_GET_CONTENT);
                            startActivityForResult(Intent.createChooser(intent,
                                    "Select Picture"), SELECT_PICTURE);
                        }
                    });
        }

        public void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (resultCode == RESULT_OK) {
                if (requestCode == SELECT_PICTURE) {
                    Uri selectedImageUri = data.getData();
                    selectedImagePath = getPath(selectedImageUri);
                }
            }
        }

        /**
         * auxiliar para saber o caminho de uma imagem URI
         */
        public String getPath(Uri uri) {

                if( uri == null ) {
                    // TODO realizar algum log ou feedback do utilizador
                    return null;
                }


                // Tenta recuperar a imagem da media store primeiro
                // Isto só irá funcionar para as imagens selecionadas da galeria

                String[] projection = { MediaStore.Images.Media.DATA };
                Cursor cursor = managedQuery(uri, projection, null, null, null);
                if( cursor != null ){
                    int column_index = cursor
                    .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                    cursor.moveToFirst();
                    return cursor.getString(column_index);
                }

                return uri.getPath();
        }

    }

    // Selecionar várias fotografias
    // Definir um parâmetro EXTRA_ALLOW_MULTIPLE extra no intent :

    intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);

    if (Intent.ACTION_SEND_MULTIPLE.equals(action))
            && Intent.hasExtra(Intent.EXTRA_STREAM)) {

        ArrayList<Parcelable> list = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);

        for (Parcelable parcel : list) {
           Uri uri = (Uri) parcel;
           // Tratar as imagens uma por uma
       }
    } 

Reference here

0

To open the android gallery just put this code:

/** 
 * (ISTO É UMA VARIÁVEL DE INSTÂNCIA)
 * Codigo para representar que voltou da activity que visualiza uma imagem. 
 */
private static final int IMAGE_VIEW_ACTIVITY_REQUEST_CODE   = 101;

// Coloque este trecho de código onde você quer que chame a galeria.
Intent intent = new Intent( Intent.ACTION_VIEW, uriDaSuaImagem );
startActivityForResult( intent, IMAGE_VIEW_ACTIVITY_REQUEST_CODE );

Browser other questions tagged

You are not signed in. Login or sign up in order to post.