Apertura de la linterna del Galaxy Nexus
Estoy desarrollando una aplicación que necesita abrir la linterna de mi dispositivo Galaxy Nexus. Me he referido al post aquí
Linterna LED en Galaxy Nexus controlable por qué API?
- Capturado La orientación de la fotografía está cambiando en android
- Uso de la cámara en el emulador de Android
- Excepción de puntero nulo en la intención de la cámara cuando elijo una cámara de terceros
- ¿Debo importar android.graphics.camera o android.hardware.camera?
- ¿Cómo obtengo el búfer de la cámara Android en bruto en C con JNI?
public class TestCamera extends Activity implements SurfaceHolder.Callback{ Camera mCamera; public static SurfaceView preview; public static SurfaceHolder mHolder; public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); preview = (SurfaceView) findViewById(R.id.camSurface); mHolder = preview.getHolder(); mCamera = Camera.open(); try { mCamera.setPreviewDisplay(mHolder); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } Button onLEDbtn = (Button) findViewById(R.id.onLED_btn); onLEDbtn.setOnClickListener(new OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_SHORT).show(); Parameters params = mCamera.getParameters(); params.setFlashMode(Parameters.FLASH_MODE_TORCH); mCamera.setParameters(params); mCamera.startPreview(); } }); } } public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // TODO Auto-generated method stub } public void surfaceCreated(SurfaceHolder holder) { // TODO Auto-generated method stub mHolder = holder; try { mCamera.setPreviewDisplay(mHolder); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub mCamera.stopPreview(); mHolder = null; } }
Manifiesto:
<uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" />
Sin embargo, todavía no puedo encender la linterna. ¿Podría alguien señalar mis errores? Gracias
- Graves bloqueos de cámara y RuntimeException en Android
- Android Camera - Guarda la imagen en una nueva carpeta en la tarjeta SD
- ¿Por qué mostrar el error IllegalStateException al configurar MediaRecorder?
- Obtener imagen de la cámara en ImageView Android
- Cómo aumentar la calidad de las fotos tomadas con CameraManager
- Cómo obtener la distancia a un objeto y el tamaño del objeto utilizando la cámara (dispositivo Android)?
- No se puede cargar la imagen tomada desde la cámara en un ImageView
- Conversión de datos YUV de la cámara en ARGB con renderscript
Debe establecer la devolución de llamada mHolder.addCallback (this);
Debe agregar esta etiqueta en el archivo de manifiesto.
<uses-feature android:name="android.hardware.camera.flash"/>
Trate de añadir:
android:name="android.permission.FLASHLIGHT" android:name="android.hardware.camera.flash
Y mira este post: ¿Cómo activar la luz de la cámara flash de forma programática en Android?
- Cómo truncar TextView y agregar elipsis en Android
- ¿Es seguro guardar los tokens de acceso / actualización de Oauth2 en las Preferencias compartidas de Android?