【发布时间】:2019-06-20 17:09:20
【问题描述】:
我正在尝试创建一个 Android 活动,该活动可以访问设备上任何相机的手电筒/手电筒。 CameraManager 有一个名为 setTorchMode 的方法允许您将其打开,该方法将相机 ID 作为字符串和一个布尔值,用于表示手电筒状态的真假。不幸的是,当我尝试使用这种方法时,它给了我错误
Cannot resolve method 'setTorchMode(java.lang.String, boolean)'
我已经导入了所有这些
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager;
import android.hardware.camera2.*;
我后来添加了 * 以查看我是否只是错过了正确的课程。这就是方法的样子
public void turnOnLight(View view) {
String[] camIDs;
try {
camIDs = camMan.getCameraIdList();
if(camIDs.length > 0) {
for (String camera : camIDs) {
int intCamID = Integer.parseInt(camera);
CameraCharacteristics characteristics = camMan.getCameraCharacteristics(camera);
boolean flashAvailable = characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);
if(flashAvailable) {
camMan.setTorchMode(camera, true); //here is the error
}
}
}
} catch (CameraAccessException camae) {
camae.printStackTrace();
} catch (NullPointerException npe) {
npe.printStackTrace();
}
}
我已经在我的 init 中用这一行全局定义和初始化了 camMan
camMan = (CameraManager) getSystemService(CAMERA_SERVICE);
有人知道为什么会发生这种情况吗?
【问题讨论】: