Android Java访问手机前端闪存

Android Java访问手机前端闪存,java,android,xml,Java,Android,Xml,只有少数手机配备了前置LED闪光灯,我如何在Java Android中访问它。我找了很多,但什么也没找到。Galaxy J5、J7等手机以及一些LG和HTC手机都配备了前置LED闪光灯,因此首先我需要确定手机是否有前置LED闪光灯,以及如何访问该闪光灯 我的应用程序是否依赖OEM,或者所有前置摄像头是否都具有相同的接口 android.hardware.camera.flash 该应用程序使用设备摄像头支持的闪光灯功能 通过使用此功能,应用程序意味着它还使用了android.hardware.

只有少数手机配备了前置LED闪光灯,我如何在Java Android中访问它。我找了很多,但什么也没找到。Galaxy J5、J7等手机以及一些LG和HTC手机都配备了前置LED闪光灯,因此首先我需要确定手机是否有前置LED闪光灯,以及如何访问该闪光灯

我的应用程序是否依赖OEM,或者所有前置摄像头是否都具有相同的接口

android.hardware.camera.flash
该应用程序使用设备摄像头支持的闪光灯功能

通过使用此功能,应用程序意味着它还使用了
android.hardware.camera
功能,除非使用
android:required=“false”
声明此父功能

使用设备的前置摄像头。

 android.hardware.camera.front
通过使用此功能,应用程序意味着它还使用了
android.hardware.camera
功能,除非使用
android:required=“false”
声明此父功能


请参阅此文档->

从最新可用的Camera2API,您可以使用下面显示的代码检查前向摄像头是否具有闪光灯功能

    CameraManager cameraManager = (CameraManager)getSystemService(CAMERA_SERVICE);
    try {
        if (hasFlashForFrontCamera(cameraManager)) {
            // has flash for front camera
        }

    } catch (CameraAccessException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

boolean hasFlashForFrontCamera(CameraManager cManager) throws CameraAccessException {
    for(final String cameraId : cManager.getCameraIdList()){
        CameraCharacteristics characteristics = cManager.getCameraCharacteristics(cameraId);
        int cOrientation = characteristics.get(CameraCharacteristics.LENS_FACING);
        if(cOrientation == CameraCharacteristics.LENS_FACING_FRONT) {
            return characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);
        }
    }
    return false;
}
一旦确认设备前摄像头是否有闪光灯,然后启用闪光灯

cameraManager.setTorchMode(frontCameraId, true);
禁用闪光灯的步骤

cameraManager.setTorchMode(frontCameraId, false);

您可以使用上面的代码片段

@HasifSeyed感谢您的帮助,它的工作原理就像魅力一样再次感谢您。