Regrese de la cámara cuando se le llame con startActivityForResult ()

Estoy usando la cámara creando una intención:

Intent cameraI = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

y luego comenzando con:

startActivityForResult(cameraI, request);

donde request es un entero constante predefinido.

Entonces tengo el onActivityResult ():

public void onActivityResult(int req, int res, Intent data) throws NullPointerException
{
    try{

    super.onActivityResult(req, res, data);
    if(req == request)
    {
        Bitmap picture = (Bitmap) data.getExtras().get("data");
        ImageView image = (ImageView) findViewById(R.id.imageView1);
        image.setImageBitmap(picture);
    }//if
    else
    {
        Toast.makeText(getApplicationContext(), "No picture taken", 4);
    }//else
    }catch (NullPointerException e){
        String error = "null pointer exception";
        Toast.makeText(getApplicationContext(), error, 4);
    }
}//onActivityResult

Mi problema es que no tengo una cámara en esta computadora. Obtengo el tablero de ajedrez predeterminado de eclipse y la animación de movimiento cuadrado. ¿Funciona esto realmente? He estado haciendo clic en el botón "tomar foto" pero no pasa nada. Lo que quiero que suceda es tomar una sola foto y luego regresarla a la actividad que llamó i. ¿Es esa la acción predeterminada o tengo que especificar que quiero que vuelva después de tomar una foto?

Gracias de antemano por cualquier ayuda.

Respuesta 1

Sí, los emuladores más nuevos (2.3.3) deberían estar bien para las pruebas.

Algunos dispositivos tienen problemas para devolver datos en diferentes formatos. En cambio, lo que podría hacer es pasar una ubicación (puede elegir) a la aplicación de la cámara, y guardaría la nueva imagen en esa ubicación, y puede usar ciegamente la ubicación que ha especificado.

Por ejemplo

File tempFolder = new File (Environment.getExternalStorageDirectory (). GetAbsolutePath ()
                + "/ myfolder");
        tempFolder.mkdir ();
        file = new File (Environment.getExternalStorageDirectory (). getAbsolutePath () + "/ myfolder",
                String.valueOf (System.currentTimeMillis ()) + ".jpg");
        Intención intención = nueva intención (MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra (MediaStore.EXTRA_OUTPUT, Uri.fromFile (archivo));
        startActivityForResult (intento, TAKE_PICTURE);
Respuesta: 2

No estoy seguro sobre el simulador y de lo que es capaz, pero aquí hay un tutorial que puede ser útil:

http://achorniy.wordpress.com/2010/04/26/howto-launch-android-camera-using-intents/

Respuesta: 3

A veces, después de agregar una biblioteca a un proyecto Eclipse Java, Eclipse sigue confundido y muestra errores (no se puede resolver el tipo, etc.). Eclipse parece haberse tropezado bastante así. F5 / ...

Acabo de comenzar con J2ME y tiendas de discos. Esta parece ser la forma correcta de abrir una tienda de discos llamada "foo", sin crear una nueva: RecordStore.openRecordStore ("foo", falso) Bien, me sale ...

Así que tengo un archivo xml que tiene un formato similar a este <TopXmlTree> <IndentedItem1> <subvalue1> <subvalue2> <subvalue3> <...

Tengo un programa Java .exe que está en mi sitio web ... es un programa simple que hace preguntas y respuestas ... es seguro si alguien lo descarga, pero si mis amigos intentan descargarlo sus antivirus ...