J'ai inclus l'option "partager via myApp". J'ai inséré le code suivant dans la classe d'activité de réception.
// Get the intent that started this activity
Intent intent = getIntent();
Uri data = intent.getData();
// Figure out what to do based on the intent type
if (intent.getType().indexOf("image/") != -1) {
// Handle intents with image data ...
}
Quelle est la prochaine étape pour récupérer l'image bitmap.
Comme vous avez déjà obtenu l'Uri. Maintenant, vous devez passer cet Uri dans getBitmap()
pour obtenir le bitmap et utiliser ce bitmap.
Uri imageUri = intent.getData();
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(),imageUri);
Imageview my_img_view = (Imageview ) findViewById (R.id.my_img_view);
my_img_view.setImageBitmap(bitmap);
Pour obtenir un bitmap depuis uri,
Bitmap mBitmap = Media.getBitmap(this.getContentResolver(), uri);
J'espère que cela vous aidera.
Retrive bitmap from uri.....
public static Bitmap decodeUriToBitmap(Context mContext, Uri sendUri) {
Bitmap getBitmap = null;
try {
InputStream image_stream;
try {
image_stream = mContext.getContentResolver().openInputStream(sendUri);
getBitmap = BitmapFactory.decodeStream(image_stream);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
return getBitmap;
}
Vous pouvez essayer ça. Vous pouvez appeler setPic () dans la méthode onActivityResult. Je l'ai utilisé dans une application pour prendre des photos et le mettre dans une ImageView.
private void setPic() {
//currentPhotoPath contains path of image file.
//visorFoto is a reference to an ImageView object.
File file = new File(currentPhotoPath);
Uri imageUri = Uri.fromFile(file);
visorFoto.setImageURI(imageUri);
}
C'est du travail pour moi
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK)
{
Uri imageUri = data.getData();
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
}
}