2011-02-07 7 views
4

장치에서 사용할 수있는 플래시 표시 등을 어떻게 확인합니까? 또한 플래시 표시 등을 어떻게 켜고 끌 수 있습니까? 코드를 넣었으나 지금은 작동하지 않습니까? 내가 밖으로 검색이
http://gitorious.org/rowboat/frameworks-base/commit/eb9cbb8fdddf4c887004b20b504083035d57a15f
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.2_r1.1/com/android/server/LightsService.java#LightsServiceAndroid : 기기에서 플래시 표시등을 확인하는 방법은 무엇인가요?

내가 사용해야하는 알 수 있습니다하세요?
감사합니다.

+0

중복 가능성 ([디바이스는 플래시 광 주도 로이드가 있는지 확인하는 방법] http://stackoverflow.com/questions/ 13413938/how-to-check-if-device-has-flash-light-led-android) –

답변

20

당신은 플래시를 사용할 경우는 false가 아닌 경우 true를 돌려줍니다 다음

context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH); 

사용할 수 있습니다.

자세한 내용은 http://developer.android.com/reference/android/content/pm/PackageManager.html을 참조하십시오.

+0

고맙습니다. –

+2

플래시 지원이 없어도 값이 싼 중국 안드로이드 타블렛에 손이 있습니다. . 또한이 경우 getSupportedFlashModes()가 null을 반환하므로 플래시를 사용할 수 있는지 다시 확인하는 데 사용할 수 있습니다. – SMart

+1

2013 Nexus 7에서도 true를 반환합니다. 플래시가 없습니다. –

0

이렇게하면 기기의 플래시 라이트를 켜고 끌 수 있습니다. 이것은 나에게 만족감을주고, 희망 또한 당신에게 유용 할 것입니다. 카메라에

전원을 켜고 플래시

camera = Camera.open(); 
Parameters p = camera.getParameters(); 
p.setFlashMode(Parameters.FLASH_MODE_TORCH); 
camera.setParameters(p); 
camera.startPreview(); 

매니페스트 파일에 넣어이 권한을 카메라 플래시

camera = Camera.open(); 
Parameters p = camera.getParameters(); 
p.setFlashMode(Parameters.FLASH_MODE_OFF); 
camera.setParameters(p); 
camera.stopPreview(); 

을 해제

<uses-permission android:name="android.permission.CAMERA" /> 
<uses-feature android:name="android.hardware.camera" /> 
자세한 내용에 대한

HERE.

+0

이것은 이론적으로 질문에 대답 할 수 있지만 여기에 대답의 핵심 부분을 포함하고 참조 용 링크를 제공하는 것이 바람직합니다 (http://meta.stackexchange.com/q/8259). – Taryn

4
boolean hasFlash =this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH); 

또는

public boolean hasFlash() { 
     if (camera == null) { 
      return false; 
     } 

     Camera.Parameters parameters = camera.getParameters(); 

     if (parameters.getFlashMode() == null) { 
      return false; 
     } 

     List<String> supportedFlashModes = parameters.getSupportedFlashModes(); 
     if (supportedFlashModes == null || supportedFlashModes.isEmpty() || supportedFlashModes.size() == 1 && supportedFlashModes.get(0).equals(Camera.Parameters.FLASH_MODE_OFF)) { 
      return false; 
     } 

     return true; 
    } 
관련 문제