web-dev-qa-db-fra.com

Android 6.0 RuntimeException: échec de connexion au service de caméra

Une erreur s'est produite avec mon application qui fonctionnait dans Nexus5 (Android6.0).

L'erreur était

Java.lang.RuntimeException: échec de connexion au service de caméra

J'avais ajouté l'autorisation à AndroidManifest.xml.

Mais l'application est OK avec un autre téléphone (Android5.1) et Genymotion AVD (Android 4.0).

Le code clé est ci-dessous

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

}
22
HelloSilence

Écrivez dans votre gradle.build targetSdkVersion 22. C'est une solution temporaire mais fonctionne.

25
fahad_sust

ouvrez Paramètres -> Applications -> cliquez sur votre application -> Autorisations -> ouvrez les autorisations de la caméra.
vous pouvez voir: http://developer.Android.com/training/permissions/requesting.html

14
zzzmode

Cela se produit car, dans Android 6.0, le modèle d'autorisation est différent. Vous devez implémenter le nouveau modèle d'autorisation qui demande l'autorisation au moment de l'exécution. Même si vous ne le demandez pas, vous pouvez activez-la manuellement dans le paramètre d'application du téléphone, mais cela ne fonctionne pas lorsque vous publiez votre application dans le Play Store. ici est un article sur la façon d'obtenir des autorisations d'exécution

Vous pouvez également vérifier la réponse de Nick ici pour obtenir plusieurs autorisations

9

À partir de Android 6.0, vous pouvez gérer la météo des autorisations d'application que vous accorderez ou non une autorisation spécifique pour une application. Dans votre cas, si vous n'avez pas activé l'autorisation de caméra pour votre application, ce problème peut survenir.

Vous devez donc activer l'autorisation de settings->apps->your_app->enable camera autorisation.

4
0xAliHn

Ajouter l'autorisation de la caméra avant d'ouvrir la caméra:

suivez le lien pour ajouter des autorisations: https://developer.Android.com/training/permissions/requesting.html

1
Ramesh R