title: Share Image on Android Application from Unity Game
body: <p>I've captured screenshot in my game when player dies. I've following code to capture screen shot.</p>
  
  <pre><code>RenderTexture rt = new RenderTexture (800, 600, 24);
      MainCamera.targetTexture = rt;
      Texture2D texture = new Texture2D (800, 600, TextureFormat.RGB24, false);
      MainCamera.Render ();
      RenderTexture.active = rt;
      texture.ReadPixels (new Rect (0, 0, 800, 600), 0, 0);
      MainCamera.targetTexture = null;
      RenderTexture.active = null;
      Destroy (rt);
      byte[] bytes = texture.EncodeToPNG ();
      Directory.CreateDirectory (Application.persistentDataPath + "/GameOverScreenShot");
      File.WriteAllBytes (Application.persistentDataPath + "/GameOverScreenShot" + "/DiedScreenShot.png", bytes);
  </code></pre>
  
  <p>I am getting saved screenshot using following code.</p>
  
  <pre><code>byte[] bytes = File.ReadAllBytes (Application.persistentDataPath +"/GameOverScreenShot" + "/BirdDiedScreenShot.png");
  
  Texture2D texture = new Texture2D (800, 600, TextureFormat.RGB24, false);
  RectOffset tempOffset = new RectOffset (5, 5, 5, 5);
  texture.filterMode = FilterMode.Trilinear;
  texture.LoadImage (bytes);
  Sprite sprite = Sprite.Create (texture, new Rect (0, 0, 800, 400), new Vector2 (0.5f, 0.0f), 2.0f);
  ScreenShot_Image.GetComponent&lt;Image&gt; ().sprite = sprite;
  </code></pre>
  
  <p>Now, I want to share this screenshot on android application. As per my research i have got following code for that, but it is returning blank image. </p>
  
  <pre><code>//instantiate the class Intent
  AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
  
  //instantiate the object Intent
  AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");
  
  //call setAction setting ACTION_SEND as parameter
  intentObject.Call&lt;AndroidJavaObject&gt;("setAction", intentClass.GetStatic&lt;string&gt;("ACTION_SEND"));
  
  //instantiate the class Uri
  AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
  
  //instantiate the object Uri with the parse of the url's file
  string destination = Application.persistentDataPath + "/GameOverScreenShot" + "/DiedScreenShot.png";
  AndroidJavaObject uriObject = uriClass.CallStatic&lt;AndroidJavaObject&gt;("parse","file://"+destination);
  
  //call putExtra with the uri object of the file
  intentObject.Call&lt;AndroidJavaObject&gt;("putExtra", intentClass.GetStatic&lt;string&gt;("EXTRA_STREAM"), uriObject);
  
  //set the type of file
  intentObject.Call&lt;AndroidJavaObject&gt;("setType", "image/*");
  
  //instantiate the class UnityPlayer
  AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
  
  //instantiate the object currentActivity
  AndroidJavaObject currentActivity = unity.GetStatic&lt;AndroidJavaObject&gt;("currentActivity");
  
  //call the activity with our Intent
  currentActivity.Call("startActivity", intentObject);
  </code></pre>
  
  <p>What should I change in this?? Please help, Advance Thanks</p>