2014-01-28 5 views
6

Я написал простое приложение для фонарика, которое я тестировал на HTC Sensation, Nexus 7, HTC One, Moto X, Galaxy S3, Galaxy S4 и Nexus 5 Единственное, на что он не работает, это Nexus 5. Он не генерирует исключения, поэтому выяснение того, что не так, оказывается сложным.Nexus 5 (4.4.2) Светодиодный фонарик не включается

Вот код, который я использую, который работает на всем, кроме:

  sCamera = Camera.open(); 
      sParameters = sCamera.getParameters(); 
      sParameters.setFlashMode(Parameters.FLASH_MODE_TORCH); 
      sCamera.setParameters(sParameters); 
      sCamera.startPreview(); 

А вот скриншот того, что происходит в LogCat, когда оно должно быть поворотом светодиодом: http://i.imgur.com/vXn5PoH.png

Я ve вытащил список режимов вспышки из Nexus 5, и он говорит, что они: включено, выключено, авто, факел и красные глаза. Это так, как ожидалось. Я тестировал с переворачиванием между ними, выключением и факелом, но ничто даже не заставляет свет мерцать. И я знаю, что светодиод не сломан, потому что другие приложения для фонарей работают нормально.

+0

вы использовали вид поверхности с объектом камеры, так как некоторые устройства должны вид поверхности, чтобы сделать объект камеры и вспышки work [link] (http://stackoverflow.com/questions/21276908/turn-on-off-flash light-) using-surfaceview, возможно, это может быть не проблема, поскольку я не видел код –

ответ

7

Это звучит так же, как Сайед упоминает ... попробуйте установить вид поверхность следующим образом:

try { 
     sCamera.setPreviewTexture(new SurfaceTexture(0)); 
    } catch (IOException ex) { 
     // Ignore 
    } 
+1

У меня был точно такая же проблема, и это сработало для меня - спасибо –

Смежные вопросы