如何分别检查设备是否有前置和后置摄像头的闪光灯?

问题描述 投票:1回答:1

我目前正在开展相机活动。当我自动切换到前置摄像头时,我设法访问了设备的后置摄像头闪光灯并隐藏了闪光灯切换按钮。然而,我想知道是否有办法检查辅助闪光灯,因为许多智能手机型号配有前置摄像头闪光灯,这也有助于从没有背照相机闪光灯的平板电脑使用此应用程序。我的想法是用两个独立的布线分别检查前后相机闪光灯,如果闪光灯不可用,则将切换按钮设置为不可见。我真的不喜欢显示或隐藏闪光灯按钮的想法,而不确定设备是否有任何相机闪光灯。这就是我到目前为止所拥有的。有任何想法吗?

private boolean hasFlash(Context Context) {
    if (Context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {
        return true;
    } else {
        return false;
    }
}

_

 if (!hasFlash(Context)) {
            ImageButton FlashButton = (ImageButton) findViewById(R.id.frnxcameraflashbutton);
                            FlashButton.setVisibility(View.INVISIBLE);
                            FlashButton.setImageResource(R.mipmap.cameraflashoffbutton);
        }
android android-camera flashlight
1个回答
2
投票

如果您能够使用新的Camera2 API(我认为大多数是21+),则每个摄像机可用的CameraCharacteristics键值映射应指示每个摄像机是否具有相应的闪光灯。例如,您可能只需检查每个摄像机的FLASH_STATE_UNAVAILABLE标志即可实现您的目标。

© www.soinside.com 2019 - 2024. All rights reserved.