PDA

Ver la Versión Completa : No me deja acceder a cámara desde broadcastreceiver


raul_bla_bla
29/11/14, 11:54:50
Hola, estoy haciendo un programa de Android en el que mediante pulsacíon de botones (más concretamente cambiar de vibrador a timbre o viceversa) me eche una foto, lo considero muy útil en determinadas ocasiones.

En el manifest he puesto que me haga un filtro de ese evento y en caso de que se produzca me llame a un archivo.java. En ese archivo .java me hace cosas como por ejemplo un TOAST que me lo hace a las mil maravillas, pero cuando le doy a acceder a la cámara me dice que no puede acceder y el programa peta.

Os pongo el archivo.java


Aquí iría lo normal de imports .....

-------------------------------------------------------------------------------------------------------
public void onReceive(Context context, Intent intent) {


Toast.makeText(context, "this is not shown", Toast.LENGTH_LONG).show();




String file = "hola.jpg";
File newfile = new File(file);
try {
newfile.createNewFile();
} catch (IOException e) {}

Uri outputFileUri = Uri.fromFile(newfile);
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

// hasta aquí me lo hace tofo bien pero si quito el /* de abajo... es cuando me da fallo.

/*
MainActivity.camera = Camera.open();
SurfaceView view = new SurfaceView(context);

try {
MainActivity.camera.setPreviewDisplay(view.getHold er()); // feed dummy surface to surface
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
MainActivity.camera.startPreview();




El logcast me dice

11-29 10:04:19.120: E/AndroidRuntime(19673): java.lang.RuntimeException: Unable to start receiver youthink.iandroid.boton.ReceptorSMS: java.lang.RuntimeException: Fail to connect to camera service


Alguna ayuda?