title: Android resolveuri failed on bad bitmap uri
body: <p>I'm new to android, trying to uplaod an image from gallery. Seems like the path I get is fine, but I'm not sure about using it right to upload an image.</p>
  
  <p>logcat says: resolveUri failed on bad bitmap uri: [/storage/sdcard0/VK/FjKgT9DodNM.jpg, 2130837564, 2130837563, 2130837565, 2130837566].</p>
  
  <p>Any ideas of what am I doing wrong?</p>
  
  <p>booksCovers here is an ArrayList of Objects with pictures.</p>
  
  <pre><code>    @Override
  public boolean onContextItemSelected(MenuItem item) 
  {
      switch (item.getItemId()) {
      case R.id.change_picture:
          onChangePictureClick();
          break;
      case R.id.delete_element:
          /*
          ...
          */
          break;
      default:
          break;
      }
      return super.onContextItemSelected(item);
  };
  
  private void onChangePictureClick()
  {
      Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
      intent.setType("image/*");
      startActivityForResult(Intent.createChooser(intent, "Select Picture"), CHANGE_PICTURE);
  }
  
      @Override
  public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) 
  {
      getMenuInflater().inflate(R.menu.list_view_contex_menu, menu);
      info = (AdapterView.AdapterContextMenuInfo) menuInfo;// contains information about object of which ContextMenu was called from
  };
  
  @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) 
  {
      if (resultCode == RESULT_OK)
      {
          switch (requestCode) 
          {
          case INPUT_ACTIVITY:
              /*
              ...
              */
              break;
          case CHANGE_PICTURE:
              Uri selectedImage = data.getData();
              String[] filePathColumn = {MediaStore.Images.Media.DATA};
              Cursor cursor = getContentResolver().query(selectedImage, 
                      filePathColumn, null, null, null);
              cursor.moveToFirst();
              int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
              String picturePath = cursor.getString(columnIndex);
              cursor.close();
  
              booksCovers.set(info.position, picturePath);
              HashMap&lt;String, Object&gt; hashMap = booksArray.get(info.position);
              hashMap.remove(coverkey);
              hashMap.put(coverkey, booksCovers);
              booksArray.set(info.position, hashMap);
              listAdapter.notifyDataSetChanged();
          }
      }
  };
  </code></pre>