Acceder a imágenes de la aplicación Fotos en mi aplicación Android
Al igual que el iPhone tiene un UIImagePickerController para permitir al usuario acceder a las imágenes almacenadas en el dispositivo, ¿tenemos un control similar en el SDK de Android?
Gracias.
- ¿Cómo verificar el desarrollo (digital) de píxeles perfectos en Android?
- Imagen 9patch con sólo escala horizontal
- Cómo seleccionar varios archivos en android
- ¿Cómo saber si dos imágenes se intersecan mientras una imagen se mueve en android?
- Obtener imágenes de un servidor PHP a Android
- Cómo reducir tamaño de imagen grande a tamaño de miniatura en android
- Dimensiones grandes de la imagen de la notificación de Android
- ¿Cómo obtener las URL de todas las imágenes almacenadas en firebase en Android?
- Retención de la orientación de la imagen después de la compresión
- ¿Existe alguna diferencia entre / mnt / sdcard y / sdcard?
- Seleccionar miniatura de la galería de Android
- aplicación es lenta con imágenes en android
- Cómo crear un ImageView circular en Android?
Puede utilizar startActivityForResult
, pasando un Intent que describe una acción que desea completar y el origen de datos para realizar la acción.
Por suerte para usted, Android incluye una Acción para recoger cosas: Intent.ACTION__PICK
y una fuente de datos que contiene imágenes: android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI
para las imágenes en el dispositivo local o android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
para las imágenes de la tarjeta SD.
Llamada startActivityForResult
pasando en 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, anula onActivityResult
para escuchar al usuario que ha realizado 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 tengas la imagen Uri puedes usarla para acceder a la imagen y hacer lo que necesites hacer con ella.
También puede hacer:
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("image/*"); startActivityForResult(photoPickerIntent, 1);
Esto recogerá imágenes en todos los almacenes.
Sólo una actualización a la respuesta dada por Reto. Usted podría 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); }
- Ejecución de Google Maps v2 en el emulador de Android
- ¿Cómo cambia el acceso al almacenamiento en Android 6?