Как выбрать и обрезать изображение в андроиде?

Эй, я в настоящее время работаю над живыми обоями, и я позволяю пользователю выбирать изображение, которое пойдет позади моих эффектов.

В настоящее время я имею:

Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            i.putExtra("crop", "true");
            startActivityForResult(i, 1);

И немного под этим:

@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      if (requestCode == 1)
        if (resultCode == Activity.RESULT_OK) {
          Uri selectedImage = data.getData();
          Log.d("IMAGE SEL", "" + selectedImage);
          // TODO Do something with the select image URI
          SharedPreferences customSharedPreference = getSharedPreferences("imagePref", Activity.MODE_PRIVATE);
          SharedPreferences.Editor editor = customSharedPreference.edit();
          Log.d("HO", "" + selectedImage);
          editor.putString("imagePref", getRealPathFromURI(selectedImage));
          Log.d("IMAGE SEL", getRealPathFromURI(selectedImage));
          editor.commit();
        } 
    }

То, когда мой код, работало, Logcat говорит мне, что selectedImage является пустым. Если я комментирую

i.putExtra("crop", "true"):

Logcat не дает мне исключение нулевого указателя, и я в состоянии сделать то, что я хочу с изображением. Так, какова проблема здесь? У кого-либо есть какая-либо идея, как я могу зафиксировать это? Спасибо, в течение Вашего времени.

31
задан 18 January 2010 в 09:33
поделиться