Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use "Share image using" sharing Intent to share images in android?

I have image galley app in that app I placed all the images into the drawable-hdpi folder. and i called images in my activity like this :

private Integer[] imageIDs = {         R.drawable.wall1, R.drawable.wall2,         R.drawable.wall3, R.drawable.wall4,         R.drawable.wall5, R.drawable.wall6,         R.drawable.wall7, R.drawable.wall8,         R.drawable.wall9, R.drawable.wall10 }; 

So now i want know how do i share this images using sharing Intent i putted sharing code like this :

     Button shareButton = (Button) findViewById(R.id.share_button);      shareButton.setOnClickListener(new View.OnClickListener() {      public void onClick(View v) {                 Intent sharingIntent = new Intent(Intent.ACTION_SEND);         Uri screenshotUri = Uri.parse(Images.Media.EXTERNAL_CONTENT_URI + "/" + imageIDs);          sharingIntent.setType("image/jpeg");         sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);         startActivity(Intent.createChooser(sharingIntent, "Share image using"));                 }     }); 

And i have sharing button also when i click on share button Sharing box is opening But when i cliked any service mostly its crashing or some services say : unable to open image So how i can fix this or is there any othere format code to share images ????

Edit :

I tried using the code below. But its not working.

Button shareButton = (Button) findViewById(R.id.share_button);      shareButton.setOnClickListener(new View.OnClickListener() {      public void onClick(View v) {          Intent sharingIntent = new Intent(Intent.ACTION_SEND);         Uri screenshotUri = Uri.parse("android.resource://com.android.test/*");         try {             InputStream stream = getContentResolver().openInputStream(screenshotUri);         } catch (FileNotFoundException e) {             // TODO Auto-generated catch block             e.printStackTrace();         }         sharingIntent.setType("image/jpeg");         sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);         startActivity(Intent.createChooser(sharingIntent, "Share image using"));             }     }); 

If don't mind somebody plz correct my above code OR give me a proper example plz How do i Share my images from drawable-hdpi folder

like image 738
Abhijeet Avatar asked Oct 05 '11 13:10

Abhijeet


People also ask

How do I share a bitmap with intent?

setType("image/png"); intent. putExtra(Intent. EXTRA_STREAM, b); startActivity(Intent. createChooser(intent , "Share"));


1 Answers

Bitmap icon = mBitmap; Intent share = new Intent(Intent.ACTION_SEND); share.setType("image/jpeg"); ByteArrayOutputStream bytes = new ByteArrayOutputStream(); icon.compress(Bitmap.CompressFormat.JPEG, 100, bytes); File f = new File(Environment.getExternalStorageDirectory() + File.separator + "temporary_file.jpg"); try {     f.createNewFile();     FileOutputStream fo = new FileOutputStream(f);     fo.write(bytes.toByteArray()); } catch (IOException e) {                                e.printStackTrace(); } share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///sdcard/temporary_file.jpg")); startActivity(Intent.createChooser(share, "Share Image")); 
like image 135
superM Avatar answered Oct 11 '22 03:10

superM