Я пытался обрезать и изменить размер изображения, делая снимок через камеру, но не понимаю, что я делаю здесь неправильно - не могу получить данные обрезанного изображения, даже если файл правильно сохранено на телефоне.
...
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("crop", "true");
, imageFilePath
возвращает ноль, если нет, возвращает правильный файл.
Спасибо за вашу помощь!