Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Tome fotos sin previsualizar Android

Me gustaría tomar una foto sin ninguna vista previa. He utilizado este código pero estoy recibiendo un error:

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Camera.Parameters parameters = camera.getParameters(); parameters.setPictureFormat(PixelFormat.JPEG); camera.setParameters(parameters); SurfaceView mview = new SurfaceView(getBaseContext()); try { camera.setPreviewDisplay(mview.getHolder()); camera.startPreview(); camera.takePicture(null,null,photoCallback); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } Camera.PictureCallback photoCallback=new Camera.PictureCallback() { public void onPictureTaken(byte[] data, Camera camera) { Uri uriTarget = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues()); OutputStream imageFileOS; try { imageFileOS = getContentResolver().openOutputStream(uriTarget); imageFileOS.write(data); imageFileOS.flush(); imageFileOS.close(); Toast.makeText(AndroidTestJNIActivity.this, "Image saved: " + uriTarget.toString(), Toast.LENGTH_LONG).show(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finish(); } }; 

Recibo una NullPointerException cuando intento acceder a la cámara. No sé cómo inicializarlo. Creo que el problema es que la cámara nunca se inicializa.

  05-29 14:40:20.330: E/AndroidRuntime(15571): FATAL EXCEPTION: main 05-29 14:40:20.330: E/AndroidRuntime(15571): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.achillessecurity.androidtestjni/com.achillessecurity.androidtestjni.AndroidTestJNIActivity}: java.lang.RuntimeException: Fail to connect to camera service 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1768) 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784) 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread.access$1500(ActivityThread.java:123) 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939) 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.os.Handler.dispatchMessage(Handler.java:99) 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.os.Looper.loop(Looper.java:130) 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread.main(ActivityThread.java:3835) 05-29 14:40:20.330: E/AndroidRuntime(15571): at java.lang.reflect.Method.invokeNative(Native Method) 05-29 14:40:20.330: E/AndroidRuntime(15571): at java.lang.reflect.Method.invoke(Method.java:507) 05-29 14:40:20.330: E/AndroidRuntime(15571): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) 05-29 14:40:20.330: E/AndroidRuntime(15571): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 05-29 14:40:20.330: E/AndroidRuntime(15571): at dalvik.system.NativeStart.main(Native Method) 05-29 14:40:20.330: E/AndroidRuntime(15571): Caused by: java.lang.RuntimeException: Fail to connect to camera service 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.hardware.Camera.native_setup(Native Method) 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.hardware.Camera.<init>(Camera.java:258) 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.hardware.Camera.open(Camera.java:235) 05-29 14:40:20.330: E/AndroidRuntime(15571): at com.achillessecurity.androidtestjni.AndroidTestJNIActivity.onCreate(AndroidTestJNIActivity.java:42) 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722) 

Inicializo la cámara por: camera= Camera.open();

3 Solutions collect form web for “Tome fotos sin previsualizar Android”

Utilice estos permisos:

  <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> 

Y puede instanciar un objeto de cámara utilizando este

 Camera mycamera = Camera.open(); 

Usted puede probar el método descrito aquí es muy simple si usted está en la simplicidad:

http://developer.android.com/training/camera/photobasics.html

Android no puede utilizar la cámara sin una vista previa … pero, puede establecer el tamaño de vista previa como 1×1 px, entonces no lo verá y puede utilizar la cámara de todos modos.

En cuanto a su Fail to initialize camera error de la Fail to initialize camera , otra posibilidad es que la cámara esté en uso por otra cosa.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.