J'essaie d'écrire une application de caméra personnalisée à Android. Pour cela, j'ai besoin d'ouvrir l'application de la caméra. P>
Pour cela, je suis en train de suivre le code .. p>
caméra caméra = caméra.open (); p> blockQuote>
mais montre une erreur comme p>
méthode ouverte non définie pour la caméra de type p> blockQuote>
J'ai fait comme suggéré ici http: // développeur. android.com/reference/android/hardware/camera.html#open(int) p>
Toute suggestion .. p>
merci, Ravindra Gupta P>
7 Réponses :
Vous avez probablement importé la mauvaise classe de caméra en haut de votre fichier source, qui est Vous avez besoin merci p> android.graphics.camera code>. P>
android.hardware.camera code> à la place. p>
merci je mets importer android.hardware.camera et cela a fonctionné après cela.
Je pense que vous n'avez pas ajouté la permission de la caméra. Voir ci-dessous - vous devez ajouter ceci dans votre manifeste;
Vérifiez vos importations. J'ai eu un problème similaire et l'objet de la caméra Eclipse choisit pour moi était: Importer android.graphics.camera; code> devrait être:
Importer android.hardware.camera; code> p>
Si rien de ce qui précède ne fonctionne: Vérifiez si vous demandez la permission de la caméra manuellement. Les autorisations d'Android plus récentes (API> 23) sont définies au moment de l'exécution, pas de temps d'installation. Voir: https://developer.android.com/training/permissions/requesting.html < / a> p>
Veuillez créer une variable comme ceci: puis essayez la méthode ouverte: p> // fonctionnent sur mon Android Studio P> P>
J'ai fait face au même problème jusqu'à ce que j'atteigne que les anciennes versions d'Android fonctionneront correctement jusqu'à Android Marshmallow, de sorte qu'il a besoin d'une autorisation d'exécution afin de continuer et de montrer à la caméra ... Vous pouvez en lire à ce sujet dans ce lien https://developer.android.com/training/ Autorisations / demande.html P>
Pour moi, j'ai utilisé une bibliothèque tiers pour faire tout ce genre de choses pour moi de ce lien et tous résolus .. https://android-arsenal.com/details/1/2804 J'espère que cela aide p>
Pourriez-vous élargir votre réponse? Le lien lui-même n'est pas considéré comme une bonne réponse.
Dans les anciennes versions Android, vous pouvez juste dans Manifest Ajoutez la permission de la caméra, puis il fonctionne ... Maintenant, vous devez demander la permission dans l'exécution et afficher la dialogue pour l'utilisateur, puis vous pouvez faire une caméra de caméra = caméra.open (); dans la méthode de remplacement sur l'onactivitéResult. alors ça fonctionnera parfaitement
J'ai fait face à de nombreux problèmes lors de l'intégration de la caméra natif / caméra2 API. Le code était volumineux. Pour éviter les problèmes de complexité et de compatibilité, Google fournit une nouvelle API Camerax dans une nouvelle bibliothèque Android Jetpack. Voir la documentation Google fournie https://developer.android.com/training/camerax . Il y a aussi une bibliothèque basée sur la kotlin que j'ai trouvée sur github https://github.com/robertlevonyan/cameraxdemo . Vous pouvez obtenir plus de compensation avec moins de code. p>