无法打开相机连接相机时发生错误:0

Jor*_*ris 5 camera android

我开始开发一个应用程序,我需要使用手机的摄像头,当我使用Camera.open()方法(无论是否带有cameraId)时,都会返回错误“连接相机时发生错误:0”。我的AndroidManifest.xml是:

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

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".camera"
            android:label="@string/title_activity_camera"
            android:theme="@style/AppTheme.NoActionBar"></activity>
    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

我手机的Android版本是6.0.1,它是BQ Aquaris M5。

提前致谢。

小智 5

正在运行的棉花糖,需要许可的设备要在运行时设置,这里是从另一个类似的问题,我的答案在这里:)

来自https://developer.android.com/training/permissions/requesting.html
注意:从 Android 6.0(API 级别 23)开始,用户可以随时撤销任何应用的权限,即使该应用面向较低的 API 级别. 无论您的应用面向哪个 API 级别,您都应该测试您的应用,以验证它在缺少所需权限时是否能正常运行。

除了清单中设置的权限之外,您还需要请求/检查运行时的权限。那里有您可以使用的示例代码,或者...


快速解决,

转到设置-> 应用程序->(您的应用程序名称)-> 权限并启用相机权限。完成,虽然不推荐用于最终产品

然后再次尝试您的应用程序。现在应该可以工作了:D