Obtenez de l'uri de la caméra intention dans android
sur cliquez sur
takePic.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent m_intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imageUri = getImageUri();
m_intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(m_intent, REQUEST_IMAGE_CAPTURE);
}
});
Sur Le Résultat:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_IMAGE_CAPTURE
&& resultCode == RESULT_OK) {
Log.d("test1",""+imageUri);
Intent shareIntent = new Intent(this, SharePicForm.class);
shareIntent.putExtra("photo",""+imageUri);
startActivity(shareIntent);
}
}
getImageUri()
private Uri getImageUri(){
Uri m_imgUri = null;
File m_file;
try {
SimpleDateFormat m_sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
m_curentDateandTime = m_sdf.format(new Date());
m_imagePath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + m_curentDateandTime + ".jpg";
m_file = new File(m_imagePath);
m_imgUri = Uri.fromFile(m_file);
} catch (Exception p_e) {
}
return m_imgUri;
}
Ce que je souhaite réaliser est très simple, caméra d'appel de l'intention et obtenir l'uri du résultat de la photo. Mais il semble qu'il n'y est pas d'autre périphérique et sur mon appareil, il n'est pas du tout fonctionné. J'ai essayé de stocker le chemin d'accès sur une variable publique, mais quand je le récupère , il est nul, il n'y formelle et normalisée de la mettre en œuvre et devrait être de travailler sur tous les appareils? Aussi, sont-il un moyen pour ne pas fournir le chemin d'accès personnalisé mais le défaut chemin de l'uri de la caméra intention ?
Merci pour votre aide
utilisation onSavedInstance() et onRestoreInstanceState() pour enregistrer et retrouver la imagepath.
OriginalL'auteur user782104 | 2014-01-27
Vous devez vous connecter pour publier un commentaire.
Si votre appareil ne respecte pas
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,
, vous pouvez toujours utiliserdans
onActivityResult(int requestCode, int resultCode, Intent data)
. Mais dans la plupart des cas, le problème est que la RAM est limitée, et le système de destruction de votre activité afin de donner suffisamment de mémoire pour l'application appareil photo pour répondre à votre intention. Par conséquent, lorsque le résultat est retourné, les domaines de votre activité ne sont pas initialisés, et vous devez suivre Amitla suggestion et de mettre en œuvreonSavedInstance()
etonRestoreInstanceState()
.OriginalL'auteur Alex Cohn
Tout d'abord assurez-vous que votre répertoire est créé......
sur le bouton cliquez sur appel de cette fonction.
Assurez-Vous d'ajouter la permission de manifester
Vous n'avez pas besoin d'autorisation caméra si vous l'utilisez par le biais de l'Intention implicite. Vous en avez besoin seulement si vous implémentez votre propre appareil photo
les données renvoie la valeur null . Je suis tellement confus
OriginalL'auteur umair
tout simplement utiliser cette Uri imageUri = données.getData();
data.getData()
méthode retourne toujours null. Vous avez tortOriginalL'auteur Shoaib Anwar