Puede usar startActivityForResult
, pasando una Intención que describe una acción que desea completar y una fuente de datos para realizar la acción.
Por suerte para usted, Android, incluye una acción para las cosas de la cosecha: Intent.ACTION__PICK
y una fuente de datos que contienen las 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
de imágenes en la tarjeta SD.
llamada startActivityForResult
que pasa en la accion de captura y las imágenes que desea que el usuario seleccione de la siguiente manera:
startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI), SELECT_IMAGE);
Entonces anulan onActivityResult
a escuchar para el usuario después de haber 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 tenga la imagen Uri, puede usarla para acceder a la imagen y hacer lo que tenga que hacer con ella.
Creo que lo que está buscando es un proveedor de contenido llamado android.provider y una clase llamada MediaStore.Images [Más información se puede encontrar aquí.] (Http://developer.android.com/reference/android/provider/package-summary.html) – GregD