0
我在使用Android相机时遇到问题。Android“Camera camera = Camera.open();”时每次都会抛出错误,叫做
在API 25 Nougat 7.1.1 SDK上开发。闵目标SDK设置为15
它在调用时抛出错误每次:
Camera camera = Camera.open();
出现错误“的RuntimeException:无法连接到相机的服务”,这可以从我的模拟器可以看到(的Nexus 5X API 25 Android 7.1.1)
在真实设备(Android 5.1.1)上测试相机功能不起作用 - 完全相同的问题。
下面是代码:
import android.hardware.Camera;
...
boolean hasCamera = false;
private boolean hasCamera(Context context) {
return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
hasCamera = hasCamera(this);
if(!hasCamera) {
takePhotoButton.setText("No Camera Found");
takePhotoButton.setEnabled(false);
}
}
private class TakePhotoButtonListener implements View.OnClickListener {
@Override
public void onClick(View v) {
if(hasCamera) {
try {
Camera camera = Camera.open();
camera.startPreview();
camera.takePicture(
null,
null,
new CameraPictureCallbackJPEG());
} catch (Exception e) {
Log.i("Error", e.getMessage());
}
}
}
}
确实检测到丹(hasCamera == TRUE)。
我没有使用Camera2(从API 21开始),因为我希望我的应用程序能够在API 15以上工作。
我在这里尝试了很多答案,但没有任何工作。请指教!
http://stackoverflow.com/questions/23904459/android-java-lang-runtimeexception-fail-to-connect-to-camera-service –
权限问题? – GhostCat
尝试重新启动设备。当一些应用程序获得相机并且没有发布它时,我通常会看到这一点。 – CommonsWare