web-dev-qa-db-ja.com

Android 6.0 RuntimeException:カメラサービスへの接続に失敗する

Nexus5(Android6.0)で実行されたアプリでエラーが発生しました。

エラーは

Java.lang.RuntimeException:カメラサービスへの接続に失敗する

AndroidManifest.xmlに許可を追加しました。

しかし、このアプリは別の電話(Android5.1)およびgenymotion AVD(Android 4.0)では問題ありません。

キーコードは以下です

 @Override
public void onResume() {
    super.onResume();
    try {
        mCamera = Camera.open();
    }catch (Exception e){
        Log.e(TAG,"open camera failed",e);
    }

}
22
HelloSilence

Gradle.build targetSdkVersion 22に書き込みます。これは一時的な解決策ですが、動作します。

25
fahad_sust

設定->アプリ->アプリをクリック->許可->カメラの許可を開きます。
あなたは見ることができます: http://developer.Android.com/training/permissions/requesting.html

14
zzzmode

これは、Android 6.0では許可モデルが異なるためです。実行時に許可を要求する新しい許可モデルを実装する必要があります。要求しない場合でも、携帯電話のアプリ設定で手動で有効にしますが、Playストアでアプリを公開する際にはうまくいきません ここ は、実行時のアクセス許可を取得する方法に関する記事です

また、ニックの答えを確認することができます こちら 複数の許可を取得するため

9

Android 6.0では、アプリに特定の権限を付与するかどうかを指定して、アプリの権限を処理できます。アプリのカメラ権限を有効にしていない場合、この問題が発生する可能性があります。

そのため、settings->apps->your_app->enable camera許可から許可を有効にする必要があります。

4
0xAliHn

カメラを開く前にカメラの許可を追加します。

許可を追加するためのリンクに従ってください: https://developer.Android.com/training/permissions/requesting.html

1
Ramesh R