Je dois pousser une intention vers l'application de caméra par défaut pour qu'elle prenne une photo, l'enregistre et renvoie un URI. Y a-t-il un moyen de faire ça?
android
android-camera
android-camera-intent
Alexandre Oleynikov
la source
la source
Réponses:
la source
FileProvider
dans Android> M. Voir iciEssayez ce qui suit que j'ai trouvé ici
la source
Il m'a fallu quelques heures pour que cela fonctionne. Le code est presque un copier-coller de developer.android.com , avec une différence mineure.
Demandez cette autorisation sur
AndroidManifest.xml
:Sur votre
Activity
, commencez par définir ceci:Puis tirez ceci
Intent
dans unonClick
:Ajoutez la méthode de support suivante:
Puis recevez le résultat:
Ce qui l'a fait fonctionner, c'est le
MediaStore.Images.Media.getBitmap(this.getContentResolver(), Uri.parse(mCurrentPhotoPath))
, qui est différent du code de developer.android.com . Le code d'origine m'a donné unFileNotFoundException
.la source
Essayez ce qui suit, j'ai trouvé Voici un lien
Si votre application cible M et au-dessus et déclare utiliser l'autorisation CAMERA qui n'est pas accordée, alors la tentative d'utilisation de cette action entraînera une SecurityException.
EasyImage.openCamera(Activity activity, int type);
la source
J'ai trouvé un moyen assez simple de le faire. Utilisez un bouton pour l'ouvrir en utilisant un
on click
écouteur pour démarrer la fonctionopenc()
, comme ceci:Vous pouvez faire ce que vous voulez avec la
uri
chaîne d'emplacement. Par exemple, je l'envoie à un rogneur d'image pour recadrer l'image.la source
essayez ce code
la source