Quiero recuperar las fotos de la galería de Android incorporada llamando al ACTION_PICK
Intención. Tengo un problema con las imágenes de Picasa. He usado el código para este link, pero no funciona (el objeto File no existe). Cualquier idea, por favor.Android ¿Cómo recupero la foto de picasa de la galería incorporada?
7
A
Respuesta
0
El código funciona si es insertar esta instrucción:
intent.putExtra("crop", "true");
0
- un intento de lanzamiento
ACTION_GET_CONTENT
en lugar de unACTION
_PICK - Proporcionar un
MediaStore.EXTRA_OUTPUT
adicional con un URI a un archivo temporal.
Agregue esto a su actividad vocación:
Archivo yourfile;
Ahora utilice este code to get Intent
:
yourFile = getFileStreamPath("yourTempFile");
yourFile.getParentFile().mkdirs();
Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT, null);
galleryIntent .setType("image/*");
galleryIntent .putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(yourFile));
galleryIntent.putExtra("outputFormat", Bitmap.CompressFormat.PNG.name());
startActivityForResult(galleryIntent, GALLERY_PIC_REQUEST);
ASEGURARSE QUE yourFile
se crea
también en su actividad llamando
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode){
case GALLERY_PIC_REQUEST:
File file = null;
Uri imageUri = data.getData();
if (imageUri == null || imageUri.toString().length() == 0) {
imageUri = Uri.fromFile(mTempFile);
file = mTempFile;
//this is the file you need! Check it
}
//if the file did not work we try alternative method
if (file == null) {
if (requestCode == 101 && data != null) {
Uri selectedImageUri = data.getData();
String selectedImagePath = getPath(selectedImageUri);
//check this string to extract picasa id
}
}
break;
}
}
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
if(cursor!=null)
{
int index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(index);
}
else return null;
}
5
ACTIVITYRESULT_CHOOSEPICTURE es el int utiliza al llamar startActivity (inten t, requestCode);
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == ACTIVITYRESULT_CHOOSEPICTURE) {
BitmapFactory.Options options = new BitmapFactory.Options();
final InputStream is = context.getContentResolver().openInputStream(intent.getData());
final Bitmap bitmap = BitmapFactory.decodeStream(is, null, options);
is.close();
}
}
+0
gracias por esto, funciona bien, incluso cuando la imagen proviene de picasa. Recuerde hacer este código en un hilo, ya que puede descargar contenido de la red. –
0
Usar este código
final Uri tempUri = data.getData();
Uri imageUri = null;
final InputStream imageStream;
try {
imageStream = getActivity().getContentResolver().openInputStream(tempUri);
Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
imageUri = getImageUri(getActivity(), selectedImage);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
public Uri getImageUri(Context inContext, Bitmap inImage) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
return Uri.parse(path);
}
Cuestiones relacionadas
- 1. Abrir una imagen en la Galería incorporada de Android
- 2. ¿Puede mi aplicación integrarse con la galería predeterminada de Android, como Picasa?
- 3. ¿Cómo mostramos una foto de la API de Java de Picasa?
- 4. Android obtener solo la imagen de la galería
- 5. Recuperar una imagen de Picasa no almacenada en caché de la Galería. 3.0 y 4.0
- 6. Galería de fotos en Android
- 7. Android: ¿Animación en la vista de galería?
- 8. android recoger imágenes de la galería
- 9. ¿Cómo recupero la cuenta de Google registrada en teléfonos Android?
- 10. acceso Picasa en android: PicasaUploadActivity
- 11. Android: Llamar a la actividad de cultivo después de tomar la foto
- 12. Android: carga lenta en la Galería
- 13. Uso de la cancelación de eco acústico incorporada de Android
- 14. obtener la ruta de una carpeta de galería en Android
- 15. Arrastrar y soltar imágenes de la galería de Android
- 16. Agregar un álbum a la Galería de fotos de Android (en el código)
- 17. La cámara Android se congela después de tomar una foto
- 18. ¿Cómo acceder a la base de datos de Picasa (escritorio)?
- 19. Galería de texto en Android?
- 20. Android: excepción de falta de memoria en la Galería
- 21. Android: Galería de vistas web
- 22. La orientación de foto capturada está cambiando en android
- 23. Recibo un intento ACTION_SEND de la Galería
- 24. Android: ¿una galería vertical?
- 25. Android: deshabilite el efecto de "rebote" en la Galería personalizada
- 26. Android obtener imagen de la galería Uri ruta
- 27. Android: Intento de la galería que devuelve resultCode == RESULT_CANCELED
- 28. Galería de Android con zoom de pellizco
- 29. androide problema posición de la imagen galería
- 30. ¿Cómo obtener la última foto en la biblioteca de iPhone?
El archivo mTempFile está siempre vacía. –
esto no funciona si la imagen está en picasa .. –