title: pass a bitmap image from one activity to another
body: <p>In my app i am displaying no.of images from gallery from where as soon as I select one image , the image should be sent to the new activity where the selected image will be set as background.However, I am able to get the images from gallery but as soon as I select one the application crashes.Thanks in advance</p>
  
  <p>Activity-1(The images are shown in gallery and the selected image is sent to new activity)</p>
  
  <pre><code>public class Gallery extends Activity {
  
  private static int RESULT_LOAD_IMAGE = 1;
  
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.gallery);
  
          Button buttonLoadImage = (Button) findViewById(R.id.buttonLoadPicture);
  
  
          buttonLoadImage.setOnClickListener(new View.OnClickListener() {
  
              public void onClick(View arg0) {
  
                  Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
  
                  startActivityForResult(i, RESULT_LOAD_IMAGE);
              }
          });
      }
  
  
  
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
          super.onActivityResult(requestCode, resultCode, data);
  
          if (requestCode == RESULT_LOAD_IMAGE &amp;&amp; resultCode == RESULT_OK &amp;&amp; null != data) {
  
  
  
  
  
  
              Uri contentUri = data.getData();          
              String[] proj = { MediaStore.Images.Media.DATA };         
              Cursor cursor = managedQuery(contentUri, proj, null, null, null);         
              int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);         
              cursor.moveToFirst();         
              String tmppath = cursor.getString(column_index);           
              Bitmap croppedImage = BitmapFactory.decodeFile(tmppath);
  
  
              // Bitmap croppedImage = BitmapFactory.decodeFile(croppedImage);
              Intent intent = new Intent(Gallery.this,GesturesActivity.class);
              intent.putExtra("bmp",croppedImage);
              startActivity(intent);
  
              Log.v("sending image","sending image");
  
  
          }
  
  
      }
  }
  </code></pre>
  
  <p>Activity-1(XML)</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@drawable/background"
      &gt;
      &lt;ImageView
              android:id="@+id/imgView"
              android:layout_width="fill_parent"
              android:layout_weight="1" android:layout_height="wrap_content"&gt;&lt;/ImageView&gt;
      &lt;Button 
              android:layout_height="wrap_content" 
              android:text="Load Picture" 
              android:layout_width="wrap_content" 
              android:id="@+id/buttonLoadPicture" 
              android:layout_weight="0" 
              android:layout_gravity="center"&gt;&lt;/Button&gt;
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>Activity-2(The activity where the selected image should be set as background image of the screen)</p>
  
  <pre><code>  public class GesturesActivity extends Activity {
  
  
          private final int MENU_CAMERA = Menu.FIRST;
  
  
          public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              requestWindowFeature(Window.FEATURE_NO_TITLE);
  
  
              Bitmap bmp = (Bitmap)this.getIntent().getParcelableExtra("bmp");
              BitmapDrawable background = new BitmapDrawable(bmp);
              getWindow().setBackgroundDrawable(background);  //background image of the screen
  
  
  
              Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.advert);
              View view = new SandboxView(this, bitmap);
  
              setContentView(view);
          }
  
  
  
          public boolean onPrepareOptionsMenu(Menu menu) {
              menu.clear();
  
                  menu.add(0, 11, 0, "Take Snapshot");
  
                      return super.onPrepareOptionsMenu(menu);
          }
  
  
          public boolean onOptionsItemSelected(MenuItem item) {
  
              return super.onOptionsItemSelected(item);
          }
  
  
  
      }
  </code></pre>