2012-01-08 1 views
3

Android 기기에 전면 카메라가 놓여있는 위치를 감지하는 방법이 있습니까?장치 앞에 놓인 카메라의 위치를 ​​찾는 방법은 무엇입니까?

나는 휴대 전화에서 항상 헤드폰 근처에 있다고 생각한다. 그러나 모든 정제는 다릅니다. 나는 Asus Transformer를 확인했고, 앞 카메라가 옆에있다. (내가 풍경 모드로 쥐면 맨 위), 삼성 갤럭시 탭 (1 세대, 안드로이드 2.2)은 모든 휴대 전화와 마찬가지로 그 위에 카메라가있다.

전면 카메라를 배치 한 위치를 확인하는 방법이 있습니까? 어쩌면 내가 코드로 할 수있을 것 같은데, 아마 장치에 대한 규칙이있을 수 있을까? Android 2.x 기기와 마찬가지로 상단에 Android 3.x 기기가 있습니다. 그렇다면 Adnroid 4.x 기기는 어떻습니까?

+0

위치를 추측 할 수있는 다른 방법이 있습니까? – Eric

답변

3

이렇게 할 방법이 없습니다. 확인할 수있는 두 개의 상수가 있습니다 http://developer.android.com/reference/android/hardware/Camera.CameraInfo.html

읽을 :

int CAMERA_FACING_BACK The facing of the camera is opposite to that of the screen. 
int CAMERA_FACING_FRONT The facing of the camera is the same as that of the screen. 

그래서 미안 해요 - 그 옆에 있는지 확인 할 수있는 방법을. API 레벨 이상

0

당신은 당신은 CAMERA_FACING_BACK 또는 CAMERA_FACING_FRONT 것 중 하나

Camera.getNumberOfCameras(); 

와 Camera.CameraInfo.facing 필드를 카메라의 수를 결정할 수 있습니다

Camera.getCameraInfo (int cameraId, Camera.CameraInfo cameraInfo). 

를 호출 할 수 있습니다.

+0

내 질문을 이해하지 못했습니다. 캠 수를 결정할 필요가 없습니다. 나는 앞 카메라가 어디에 있는지 (상단 또는 측면)에 장치가 놓여있는 위치를 알아야합니다. – Dmitriy

+0

존재하는 유일한 카메라 위치 정보에 대한 API를 제공했습니다. – nmjohn

2

9

/** 
    * @return true : Front facing camera is available. false : Front facing 
    *   camera is not available. 
    */ 
    private boolean isFrontCameraAvailable() { 

     int cameraCount = 0; 
     boolean isFrontCameraAvailable = false; 
     cameraCount = Camera.getNumberOfCameras(); 

     while (cameraCount > 0) { 
     CameraInfo cameraInfo = new CameraInfo(); 
     cameraCount--; 
     Camera.getCameraInfo(cameraCount, cameraInfo); 


     if (cameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT) { 
     isFrontCameraAvailable = true; 
     break; 
     } 

     } 

     return isFrontCameraAvailable; 
    } 
0

이 정보에 대한 API를 발견하지 않았습니다.

나는 당신의 최선의 선택은 Build 정보를보고 삼성 갤럭시 탭에 대한 장치/브랜드 일치 다음이 켜져 가정하면 당신이 https://developer.android.com/reference/android/os/Build.html

을 알고있는 위치에 대한 매핑을 만들기 위해 휴리스틱 접근 방법이라고 생각 상단.

Asus Transformer와 일치하는 경우 왼쪽에 있다고 가정합니다.

당신이 장치/브랜드를 찾지 못한다면 로그인하십시오. 카메라가있는 장치 연구를 사용하는 사람들이 충분히 많으면 코드를 업데이트하십시오.

관련 문제