Android Camera Intent with Crop

Я пытался обрезать и изменить размер изображения при съемке с помощью камеры, но не понимаю, что я здесь делаю не так - могу ' t получить данные обрезанного изображения, даже если файл правильно сохранен в телефоне.

...
public class Add extends Activity {
    private String imageFilePath;
    ...
    protected void onCreate(Bundle savedInstanceState) {
    ...
        imageFilePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/tmp/" + String.valueOf(System.currentTimeMillis()) + ".jpg";
        imageFile = new File(imageFilePath);
        imageFileUri = Uri.fromFile(imageFile);
        Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageFileUri);
        intent.putExtra("crop", "true");
        intent.putExtra("outputX", 600);
        intent.putExtra("outputY", 600);
        intent.putExtra("aspectX", 1);
        intent.putExtra("aspectY", 1);
        intent.putExtra("scale", true);
        intent.putExtra("return-data", true); 
        startActivityForResult(intent, 0);
        ...
    }
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch(requestCode) {
        case 0 : {    
        Bitmap bitmap = BitmapFactory.decodeFile(imageFilePath);
    }
    }
}

Если я использую intent.putExtra ("урожай", "истина"); , imageFilePath возвращает значение null, в противном случае возвращается правильный файл.

Спасибо за вашу помощь!

5
задан Brice Lechatellier 21 December 2011 в 05:13
поделиться