안드로이드 4.4 이후로, Intent.ACTION_GET_CONTENT 유형을 실행하고 Intent를 입력하면 Gallery, Dropbox 등을 선택하는 대신 새 문서 브라우저가 열립니다. 이미지를 열려면이 방법을 이전 APIS에서와 동일한 방식으로 수행 할 수 있으므로 이미지를 열려면이 방법이 유용합니다. 문서 브라우저가 전달하는 Uri와 자르기 매개 변수를 무시하기 때문에 선택한 이미지를자를 필요가있을 때 문제가 발생합니다. 이것은 내가 뭐하는 거지입니다 :안드로이드에서 갤러리에서 선택하는 동안 자르기 4.4
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
if (photoUri != null)
outState.putString("uri", photoUri.toString());
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
if (savedInstanceState.containsKey("uri"))
photoUri = Uri.parse(savedInstanceState.getString("uri"));
}
을 그리고 onActivityResult를에, 난 그냥 photoUri와 InputStream를 여는 데 필요한 :
void take_photo() {
File file = null;
try {
file = PhotoUtils.createTemporaryFile("picture", ".jpg",
EditProfileActivity.this);
file.delete();
} catch (Exception e) {
e.printStackTrace();
}
photoUri = Uri.fromFile(file);
Intent galleryIntent= new Intent(Intent.ACTION_GET_CONTENT);
galleryIntent.setType("image/*");
galleryIntent.putExtra("crop", "true");
galleryIntent.putExtra("aspectX", 2);
galleryIntent.putExtra("aspectY", 2);
galleryIntent.putExtra("outputX", 1300);
galleryIntent.putExtra("outputY", 1300);
galleryIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(galleryIntent, ACTIVITY_SELECT_IMAGE);
}
그럼 내가 돌아 왔을 때 그것을 사용할 수 있었다 확인하기 위해 내 photoUri 저장된 galleryIntent가 자르기 된 이미지로 파일을 만들었 기 때문입니다.
이제이 작업을 수행하면 인 텐트에 photoUri로 지정된 파일이 생성되지 않습니다. 이 일을하는 새로운 방법이 있습니까?
내가 Kitkat에서하고있는 것이지만 어쨌든 crop 매개 변수를 허용하지 않습니다. – Makerhack