Estoy tratando de levantar una simple aplicación de Android que utiliza una cámara a través de Intents. El código es bastante directo desde el Android documentation here, pero no funciona para mí.La cámara Android con intención no regresa en el RESULT_OK caso
La aplicación de la cámara se abre como se esperaba después de la llamada a startActivityForResult(), pero nunca regresa después de tomar una foto (?!). Específicamente, no regresa después de tomar una foto y elegir el icono de aceptar (marca de verificación en Galaxy Nexus). Pero vuelve después de que selecciono el ícono de cancelación ('X' en el mismo teléfono).
Aquí está el código (nota, estoy trabajando a partir de un fragmento, no una actividad):
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.my_layout, container, false);
final Button btnCamera = (Button) view.findViewById(R.id.cameraid);
View.OnClickListener handler = new View.OnClickListener() {
public void onClick(View v) {
if (v == btnCamera) {
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// create a file to save the image
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "MyImages");
imagesFolder.mkdirs();
File image = new File(imagesFolder, "image_001.jpg");
Uri uriSavedImage = Uri.fromFile(image);
// start the image capture Intent
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
}
}
btnCamera.setOnClickListener(handler);
}
y
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
// Image captured and saved to fileUri specified in the Intent
Toast.makeText(getActivity(), "Image saved to:\n" +
data.getData(), Toast.LENGTH_LONG).show();
}
else if (resultCode == Activity.RESULT_CANCELED) {
// User cancelled the image capture
} else {
// Image capture failed, advise user
}
}
¿Qué necesito cambiar para hacer este trabajo? Gracias.
Gracias Dylan, - haré. – gcl1