I have included 'share via myApp' option. I inserted following code in the receiving activity class.
// 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 ...
}
What is the next step to retrieve bitmap image.
As you have already get the Uri. Now you have to pass that Uri in getBitmap()
to get bitmap and use that 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);
For getting bitmap from uri,
Bitmap mBitmap = Media.getBitmap(this.getContentResolver(), uri);
Hope this helps you.
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;
}
This is work for me
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);
}
}
You can try this. You can call setPic() in onActivityResult method. I have used this in an application to take photos an put it in an 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);
}
rupesh
Please prefer this link.
This is what you are looking for How to get Bitmap from an Uri?
Try this it works for me:
public static Bitmap getBitmapFromURL(String src) {
try {
System.out.printf("src", src);
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
System.out.printf("Bitmap", "returned");
myBitmap = Bitmap.createScaledBitmap(myBitmap, 100, 100, false);//This is only if u want to set the image size.
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
System.out.printf("Exception", e.getMessage());
return null;
}
来源:https://stackoverflow.com/questions/20782713/retrieve-bitmap-from-uri