안녕하세요
가벼운 flash light 위젯 개발중에 이상한 부분이 있어서
고수님들 도움을 바라고 질문을 올려 봅니다.
다른 기능 없이 단순하게 toggle flash light 위젯을 개발하고 있습니다.
여기서 FLASH_MODE_TORCH 를 지원 안하는 기기로 인해 분기 해서
FLASH_MODE_ON 를 적용 하였습니다.
소스는
camera = Camera.open();
Parameters param = camera.getParameters();
List<String> flashModes = param.getSupportedFlashModes();
if (flashModes != null && flashModes.contains(Parameters.FLASH_MODE_TORCH)) {
param.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(param);
Toast.makeText(context, "Flash ON", Toast.LENGTH_SHORT).show();
} else if (flashModes != null && flashModes.contains(Parameters.FLASH_MODE_ON)) {
param.setFlashMode(Parameters.FLASH_MODE_ON);
camera.setParameters(param);
camera.startPreview();
Toast.makeText(context, "Flash Not Supported", Toast.LENGTH_SHORT).show();
} else {
param.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(param);
camera.release();
camera = null;
}
위와 같이 적용 했습니다.
처음 갤2에서 테스트를 했는데 문제없이 잘 작동 하더라구요
그런데 이전 2.1,2.2 버전들의 폰들은 FLASH_MODE_ON 로 분기는 정상 확인 되었는데 flash가 작동을 하지 않네요;;
그리고 또하나 미라크는 FLASH_MODE_TORCH 지원 하는걸 확인 했는데도 안켜지네요;;;
그외에 FLASH_MODE_TORCH를 지원하는 최신 LTE폰들은 전부 정상 작동 하는걸 확인했습니다.
구글링 과 게시판을 여러차례 검색을 했는데 넥서스원에서 플래시가 안켜진다는 내용외에는 확인이 되는 내용이 없어서요 ㅜㅜ
혹시 flashlight 위젯을 개발 해보셨거나,
param.setFlashMode(Parameters.FLASH_MODE_ON); 으로 flash 를 제어 해보신 고수님들 도움 부탁 드립니다. ㅜㅜ
참 Manifest 의 Permissions은
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
를 주었습니다.
마켓에서 다른 위젯을 깔아 보니 flash가 내장된 장비라면 전부 켜지던데
이유가 멀까요 ㅜㅜ