una programacion privado pasar para ocultar movil memoria guardar google fotos descargar como celular calculadora aplicacion android android-image

programacion - Acceda a imágenes desde la aplicación de Imágenes en mi aplicación de Android



google fotos es privado (3)

Al igual que el iPhone tiene un UIImagePickerController para permitir que el usuario acceda a las imágenes almacenadas en el dispositivo, ¿tenemos un control similar en el SDK de Android?

Gracias.


Puede usar startActivityForResult , pasando Intent que describe una acción que desea completar y la fuente de datos para realizar la acción.

Afortunadamente para ti, Android incluye una acción para elegir cosas: Intent.ACTION__PICK y una fuente de datos que contiene imágenes: android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI para imágenes en el dispositivo local o android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI para imágenes en la tarjeta SD.

Llame a startActivityForResult pasando la acción de selección y las imágenes que desea que el usuario seleccione de esta manera:

startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI), SELECT_IMAGE);

A continuación, anule onActivityResult para escuchar que el usuario haya hecho una selección.

@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == SELECT_IMAGE) if (resultCode == Activity.RESULT_OK) { Uri selectedImage = data.getData(); // TODO Do something with the select image URI } }

Una vez que tenga la imagen de Uri, puede usarla para acceder a la imagen y hacer lo que tenga que hacer con ella.


También puedes hacer:

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("image/*"); startActivityForResult(photoPickerIntent, 1);

Esto seleccionará imágenes en todos los almacenes.


Solo una actualización de la respuesta dada por Reto. Puedes hacer esto para escalar la imagen:

private String getPath(Uri uri) { String[] data = { MediaStore.Images.Media.DATA }; CursorLoader loader = new CursorLoader(context, uri, data, null, null, null); Cursor cursor = loader.loadInBackground(); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index); }