내 응용 프로그램에 camera2 api를 사용하고 있지만 Redmi note 3과 같은 장치 중 일부는 롤리팝 Android 버전을 사용하는 경우에도 지원하지 않습니다. 이제 내 쿼리 내가 장치가 내 응용 프로그램현재 장치에 camera2 API 지원 여부 확인 방법
답변
을에 카메라 2 API를 지원이 아닌지 확인 당신이 후면이있는 경우 당신은 당신의 장치
public static boolean checkCameraFront(Context context) {
if(context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)) {
return true;
} else {
return false;
}
}
체크 전면 카메라가있는 경우 코드 아래
확인을 시도 할 방법입니다 카메라 내장
public static boolean checkCameraRear() {
int numCamera = Camera.getNumberOfCameras();
if(numCamera > 0) {
return true;
} else {
return false;
}
}
하지만 안드로이드의 카메라 api도 확인할 수 있습니다 ... 어떻게 그것을 camera2 API 지원 및 카메라 API 지원에 대한 지원을 차별화 수있는 모든 장치. –
확인 하시겠습니까? 당신이 시도한 코드를 업로드 해주세요. –
이 말은 http://stackoverflow.com/a/31240881/6460582입니다.하지만 장치에 camera2 API가 지원되는지 확인하는 방법. –
인증을 통과 한 모든 Android 기기는 API 레벨 21 (Lollipop)에서 시작하는 카메라 2 API를 지원합니다.
일부 장치는 수동 제어 나 RAW 캡처와 같은 가능한 모든 기능을 지원하지 않을 수 있지만 기본 API는 항상 작동해야합니다.
예. 당신은 바로 사물함 장치에서 항상 시작되는 카메라 미리보기입니다.하지만 redmi note 3와 같은 일부 장치에서는 이미지가 캡처 단추를 때리면 캡처되지 않습니다 ... 이제 어떻게 해결할 수 있습니까? 다른 롤리팝 장치는 동일한 –
장치 별 버그가있을 수 있지만 기본 이미지 캡처가 실제로 작동해야합니다. 그러나 디버깅을하려면 앱의 전체 시스템 로그가 필요합니다. –
난 당신이
다음 장치에 카메라가 전체 또는 제한 카메라 2 API 지원을 결정하기 위해 조각이야 것이 도움이 될 수 바란다 this를 방문하십시오 (단지 전화 checkCamera2Support 방법) :
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public boolean allowCamera2Support(int cameraId) {
CameraManager manager = (CameraManager)getSystemService(Context.CAMERA_SERVICE);
try {
String cameraIdS = manager.getCameraIdList()[cameraId];
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraIdS);
int support = characteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
if(support == CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY)
Log.d(TAG, "Camera " + cameraId + " has LEGACY Camera2 support");
else if(support == CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED)
Log.d(TAG, "Camera " + cameraId + " has LIMITED Camera2 support");
else if(support == CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_FULL)
Log.d(TAG, "Camera " + cameraId + " has FULL Camera2 support");
else
Log.d(TAG, "Camera " + cameraId + " has unknown Camera2 support?!");
return support == CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED || support == CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_FULL;
}
catch (CameraAccessException e) {
e.printStackTrace();
}
return false;
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void checkCamera2Support() {
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if(getNumberOfCameras() == 0) {
Log.d(TAG, "0 cameras");
}else {
for (int i = 0; i < getNumberOfCameras(); i++) {
if (!allowCamera2Support(i)) {
Log.d(TAG, "camera " + i + " doesn't have limited or full support for Camera2 API");
}else{
// here you can get ids of cameras that have limited or full support for Camera2 API
}
}
}
}
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public int getNumberOfCameras() {
CameraManager manager = (CameraManager)getSystemService(Context.CAMERA_SERVICE);
try {
return manager.getCameraIdList().length;
} catch (CameraAccessException e) {
e.printStackTrace();
} catch(AssertionError e) {
e.printStackTrace();
}
return 0;
}
- 1. 비디오 형식 지원 여부 확인 방법
- 2. 모든 장치에 대한 지원 확인
- 3. Microsoft Excel Interop 시트 지원 여부 확인
- 4. Google Charts API - 그리기 성공 여부 확인
- 5. ImageReader on Camera2 Api android
- 6. Camera2 API Android min SDK
- 7. Youtube API, 동영상 수정 여부 확인
- 8. 안드로이드 - API 레벨 8의 LTE 여부 확인
- 9. 알림 확인 여부 확인
- 10. canvas.toDataUrl에 대한 broswer 지원 및 신뢰성 여부
- 11. 파일 존재 여부 확인 방법
- 12. 데이터 준비 여부 확인 방법
- 13. Powershell 설치 여부 확인 방법
- 14. 외부 카메라 사용 가능 여부 확인
- 15. 종료가 시작되었는지 여부 확인
- 16. 파일 열기 여부 확인
- 17. 사용자 이름 확인 여부 확인
- 18. 양식 제출 여부 확인
- 19. 장치 검색 방법 SimCard 지원 여부
- 20. URL 존재 여부 확인
- 21. HTML5 iframe 샌드 박스 속성 지원 여부 확인
- 22. android camera2 api MediaRecorder stop() error
- 23. 안드로이드 Camera2 API 백 - 프런트 카메라
- 24. 사용자 이름 확인 여부 확인
- 25. 스크롤 막대 확인 여부 확인
- 26. 웹 사이트 유효성 검사 여부 확인 방법
- 27. 패치 적용 여부 확인
- 28. 레코드 존재 여부 확인
- 29. Camera2 api 카메라를 정상으로 흑백으로 전환합니다.
- 30. 데이터 테이블 지원 페이징 여부
체크 아웃 [this] (http://stackoverflow.com/a/31240881/5985958) 대답 – Umarov