Kameraklasse ist jetzt veraltet.
Lollipop über Sie camera2 Api verwenden
so nickkadrov Lösung doesent Arbeit für 6,0 & oben Gerät, beste Weg, um Ein/Aus Blitzlicht benötigen, ist Code unten versuchen
public static void toggleFlashLight(){
toggle=!toggle;
try {
CameraManager cameraManager = (CameraManager) getApplicationContext().getSystemService(Context.CAMERA_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
for (String id : cameraManager.getCameraIdList()) {
// Turn on the flash if camera has one
if (cameraManager.getCameraCharacteristics(id).get(CameraCharacteristics.FLASH_INFO_AVAILABLE)) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
cameraManager.setTorchMode(id, true);
}
}
}
}
} catch (Exception e2) {
Toast.makeText(getApplicationContext(), "Torch Failed: " + e2.getMessage(), Toast.LENGTH_SHORT).show();
}
}
wobei toggle auf Klassenebene statisch ist Boolesche Variable, deren Standardwert falsch ist
static boolean toggle=false;
danke. hat für mich gearbeitet :) –
Kamera-Klasse ist jetzt veraltet. Wissen Sie irgendeine Alternative, um dasselbe zu tun? –
Veraltet, wenn SDK> 21 – Yehonatan