How to Share Image of Your App with Another App in Android


In this tutorial, we'll show you how to seamlessly share images from one Android app to another. Whether you want to send pictures from your favorite social media app to a messaging app or any other combination, we've got you covered. Our step-by-step guide simplifies the process, making it accessible to both beginners and experienced Android users. By the end of this video, you'll be sharing images between your Android apps like a pro!

🔥 Key Points Covered:

  • How to share images from one Android app to another.
  • Using the Android Share menu effectively.
  • A detailed walk-through for various apps and scenarios.
  • Tips and tricks to make sharing smoother.

paths.xml

 <?xml version="1.0" encoding="utf-8"?>  
 <paths>  
   <cache-path  
     name="shared_images"  
     path="images/"/>  
 </paths>  
   

Add this in AndroidManifest.xml inside the application tag

     <provider  
       android:authorities="com.bdtopcoder.imagesharing"  
       android:name="androidx.core.content.FileProvider"  
       android:exported="false"  
       android:grantUriPermissions="true"  
       >  
       <meta-data  
         android:name="android.support.FILE_PROVIDER_PATHS"  
         android:resource="@xml/paths"  
         />  
     </provider>  

Storage Permission

   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  
   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>  

Add this to method in public class in your activity MainActivity.java

   private void shareImageAndText(Bitmap bitmap){  
     Uri uri = getImageToShare(bitmap);  
     Intent intent = new Intent(Intent.ACTION_SEND);  
     intent.putExtra(Intent.EXTRA_STREAM,uri);  
     intent.putExtra(Intent.EXTRA_TEXT,"Sharing Images");  
     intent.putExtra(Intent.EXTRA_SUBJECT,"Subject");  
     intent.setType("image/png");  
     startActivity(Intent.createChooser(intent,"Share via"));  
   }  
   
   private Uri getImageToShare (Bitmap bitmap){  
     File imageFolder = new File(getCacheDir(),"images");  
     Uri uri = null;  
   
     try {  
       imageFolder.mkdir();  
       File file = new File(imageFolder,"shared_image.png");  
       FileOutputStream outputStream = new FileOutputStream(file);  
       bitmap.compress(Bitmap.CompressFormat.PNG,90,outputStream);  
       outputStream.flush();  
       outputStream.close();  
       uri = FileProvider.getUriForFile(MainActivity.this,"com.bdtopcoder.imagesharing", file);  
     } catch (Exception e){  
       Toast.makeText(this, "Exception: "+e.getMessage(), Toast.LENGTH_SHORT).show();  
     }  
     return uri;  
   }  

Button setOnClickListener code:

     button.setOnClickListener(view -> {  
       BitmapDrawable bitmapDrawable = (BitmapDrawable) imageView.getDrawable();  
       Bitmap bitmap = bitmapDrawable.getBitmap();  
       shareImageAndText(bitmap);  
     });  



Next Post Previous Post
No Comment
Add Comment
comment url