taking - Acceder a videos y fotos en Android 1.5+
take pictures android studio (4)
Así que estoy tratando de permitir que el usuario elija una pieza de medios en particular con mi aplicación Android utilizando el método que se describe aquí: Acceda a las imágenes desde la aplicación de Imágenes en mi aplicación de Android
Funciona muy bien, excepto por el hecho de que aparentemente solo puedo elegir entre Video o Foto para presentar al usuario, no ambos al mismo tiempo. ¿Hay una buena manera de hacer esto con:
startActivityForResult (nuevo Intent (Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI), SELECT_IMAGE);
¡Gracias!
Kivy: la manera más fácil es crear un intento de seleccionar un medio y restringirlo a un video:
Intent pickMedia = new Intent(Intent.ACTION_GET_CONTENT);
pickMedia.setType("video/*");
startActivityForResult(pickMedia,12345);
Nota: 12345 es el número entero que su aplicación necesita escuchar en una devolución de llamada de solicitud para que pueda enviar la información que reciba donde sea que lo necesite.
También debe tener esa misma actividad para escuchar la información que se enviará desde ese intento:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12345) {
if (resultCode == Activity.RESULT_OK) {
Uri selectedVideoLocation = data.getData();
// Do something with the data...
}
}
}
¿Guay?
intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);
Lo he usado varias veces La mejor manera es algo como:
Intent mediaChooser = new Intent(Intent.ACTION_GET_CONTENT);
//comma-separated MIME types
mediaChooser.setType("video/*, images/*");
startActivityForResult(mediaChooser, 1);
Incluso si esto no es perfectamente exacto, ha funcionado bien en todo lo que he usado. Se abrirá una actividad de galería al estilo con una lista en miniatura de cada imagen / video en la galería del usuario. El intento devuelto a onActivityResult()
tiene un extra llamado "DATA" que será un contenido: // URI para los medios seleccionados.
EDITAR: oops, para obtener el URI para los medios seleccionados, realmente desea llamar a getData () en la intención que se pasa a onActivityResult ()
Prueba esto
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, 101);