Android - Comment faire pour obtenir l'image en utilisant l'Intention de données
J'ai mis en place l'application pour obtenir une image à partir de l'album de l'appareil photo dans la carte sd.Mais il ne fonctionne pas correctement.
Ici Intention retourne comme cette Intention { act=com.htc.HTCAlbum.d'action.ITEM_PICKER_FROM_COLLECTIONS dat=content://media/externe/images/media/9 typ=image/jpeg (a extras) }
Dans le code
Bitmap vignette = (Bitmap) de données.getExtras().get("données");
Ici (Bitmap) de données.getExtras().get("données")
cette partie renvoie null.
Comment faire pour obtenir l'image bitmap ici s'il vous plaît quelqu'un peut-il m'aider.
Code:
cam_images_btn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent cam_ImagesIntent = new Intent(Intent.ACTION_GET_CONTENT);
cam_ImagesIntent.setType("image/*");
startActivityForResult(cam_ImagesIntent, CAMERA_IMAGES_REQUEST);
}
});
if(requestCode == CAMERA_IMAGES_REQUEST && resultCode==Activity.RESULT_OK)
{
System.out.println("data(CAMERA_IMAGES_REQUEST):"+data);
if(data != null)
{
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
System.out.println("Bitmap(CAMERA_IMAGES_REQUEST):"+thumbnail);
System.out.println("cap_image(CAMERA_IMAGES_REQUEST):"+cap_image);
cap_image.setImageBitmap(thumbnail);
}
else
{
System.out.println("SDCard have no images");
Toast.makeText(camera.this, "SDCard have no images", Toast.LENGTH_SHORT);
}
}
grâce
- L'URI de l'image est renvoyée à la place de l'Image elle-même. regardez ici comment analyser les URI et d'obtenir de l'Image
Vous devez vous connecter pour publier un commentaire.
Effectuer les opérations suivantes dans votre code:
Cela devrait fonctionner.
Edit:
Aussi, si vous voulez une "vignette" effectuer les opérations suivantes:
Bien la façon de le faire c'est très facile, il suffit de:
N'oubliez pas de mettre ce code après tout est initialisé en premier, sinon vous obtiendrez un
NullPointerException
. Je préfère les mettre dans le fond de laonCreate()
J'ai ce code:
puis dans onActivityResult je fais ce test:
il fonctionne pour moi api level 7
Ce problème peut être résolu par écrit moins de lignes de codes.