일부 기기에서 발생하는 내 앱에서 최근에 known bug을 수정했습니다. 사용자가 내 앱에서 시작한 의도에서 사진을 찍을 때 onActivityResult
Uri uri = intent.getData();
을 반환합니다. 나는 그걸 바로 잡을 수 있었다. suggested manner. 그러나 사용자가 자신의 휴대 전화 사진 갤러리에서 사진을 선택해야 할 때 똑같은 문제가 발생한다. 동일 intent.getData() == null
.갤러리 intent.getData()는 onActivityResult에서 null을 반환합니다.
의도를 시작 :
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "Select Picture"),
R.id.SELECT_IMAGE_ACTIVITY_REQUEST_CODE);
하여 onActivityResult :
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 filePath = cursor.getString(columnIndex);
cursor.close();
dataHasChanged(ACTION_PICTURE, filePath);
PS : 나는 "갤러리"를 사용하는 경우에만 나는 intent.getData()
를 얻을 수 아래에 표시하지만 같은 내가 의도를 시작하면 이상하게도 내 samsung s4에 응용 프로그램이 아니라 GooglePhotos 응용 프로그램.
Intent pickImageIntent = new Intent(
Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
if (pickImageIntent.resolveActivity(getPackageManager()) != null)
startActivityForResult(pickImageIntent, R.id.SELECT_IMAGE_ACTIVITY_REQUEST_CODE);
진행 방법이 확실하지 않습니다. 나는 안드로이드 전체의 의도가 때때로 혼란 스럽다는 것을 안다.
에 IMG을 설정하는 하나 개의 이미지 뷰가 ...이 있다면이 위대한 작품을 내가 하나 개 이상의 이미지 뷰에 대한 파일을로드 같은 논리를 사용하려면 어떻게? onActivityResult의 코드는 사진을 설정할 ImageView를 어떻게 알 수 있습니까? 어떤 팁? –
신경 쓰지 마세요. 나는 그것을 알아! –