Android:无法连接到camera.open()上的摄像头服务;

Android:无法连接到camera.open()上的摄像头服务;,android,android-camera,Android,Android Camera,有许多类似的问题,但没有一个对我有帮助: 我的清单文件是: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.cameraapi" android:versionCode="1" android:versionName="1.0" >

有许多类似的问题,但没有一个对我有帮助:

我的清单文件是:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.cameraapi"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".CameraAPIActivity"
            android:label="@string/app_name"
            android:screenOrientation="landscape" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
我在排队时遇到了例外情况

myCamera = Camera.open();

如果您想使用相机拍摄照片,请多谢

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);`
还添加了此功能

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAMERA_REQUEST) {
        photo = (Bitmap) data.getExtras().get("data");
        imageView.setImageBitmap(photo);
    }
}

imageView是您可能希望设置捕获图像的视图。

您需要添加以下内容

private Preview mPreview;      // Global variable
mPreview = new Preview(this);  // onCreate()
setContentView(mPreview);      // onCreate()
希望这有帮助

忘记添加

myCamera.release();

在我的代码中。因此,它在我第一次启动应用程序时起作用。当我重新启动它时,相机服务不可用。

您在源文件顶部导入了错误的相机类(我接收该类),即
android.graphics.Camera

你需要的是android.hardware.Camera

之后:

myCamera = Camera.open(); - start working.

但是我想使用Camera API,而不是Intentar。您是否可以在模拟器或设备上尝试此操作?是否可以粘贴日志输出?我正在设备上尝试此操作。我得到的checkCameraHardware值为true。@ss1271只是一行“java.lang.RuntimeException:无法连接到相机服务”太棒了!来自开发人员站点的代码不起作用!!!下面是一些正确处理相机的指针:我在onResume()方法中添加了这段代码,其工作原理类似于使用camera.open(id)之前的字符;如果(camer!=null){camera.release()}
myCamera = Camera.open(); - start working.