我目前正在开展相机活动。当我自动切换到前置摄像头时,我设法访问了设备的后置摄像头闪光灯并隐藏了闪光灯切换按钮。然而,我想知道是否有办法检查辅助闪光灯,因为许多智能手机型号配有前置摄像头闪光灯,这也有助于从没有背照相机闪光灯的平板电脑使用此应用程序。我的想法是用两个独立的布线分别检查前后相机闪光灯,如果闪光灯不可用,则将切换按钮设置为不可见。我真的不喜欢显示或隐藏闪光灯按钮的想法,而不确定设备是否有任何相机闪光灯。这就是我到目前为止所拥有的。有任何想法吗?
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);
}
如果您能够使用新的Camera2
API(我认为大多数是21+),则每个摄像机可用的CameraCharacteristics
键值映射应指示每个摄像机是否具有相应的闪光灯。例如,您可能只需检查每个摄像机的FLASH_STATE_UNAVAILABLE
标志即可实现您的目标。