저는 Android 개발자 가이드를 통해 기존 카메라 앱을 사용하여 사진을 찍는 앱을 만들었습니다. 다음으로 나는이 부분을 사용하여 이미지 뷰에 넣으려고합니다. https://developer.android.com/training/camera/photobasics.html#TaskScalePhoto BitmapFactory decodeFile은 null을 반환합니다. 다음 코드로 단순화했지만 동일한 결과를 제공합니다.BitmapFactory decodeFile이 null을 반환하는 이유는 무엇입니까?
Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath);
imageView.setImageBitmap(bitmap);
mCurrentPhotoPath는
image.getAbsolutePath()
로 설정하고 예 저장/알려진에/0/안드로이드/데이터 // 파일/사진/JPEG_20170503_102533_2060032401.jpg
열심히 mCurrentPhotoPath의 값을 코딩 할 수 있습니다를 에뮬레이트입니다
사진과 나는 여전히 null이됩니다.
그러나 나는 그 작동 스토리지// 0/DCIM/카메라/IMG_20161124_145814981_HDR.jpg (별도 내 전화가 일반 카메라 응용 프로그램을 사용하여 만든 사진) 에뮬레이션 것으로 교체합니다.
나는 나의 매니페스트에
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
있습니다. 2 개의 파일은 동일한 사용 권한을 가지며 크기가 같습니다. 다른 곳에 복사 할 수 있으며 유효한 jpeg 파일 인 것 같습니다. 어떤 아이디어가 계속 될 수 있습니까?
나는 많은 게시물을 검토하고 아래의 변형을 포함하여 여러 가지를 시도했지만 동일한 결과를 얻습니다.
File dest = new File(mCurrentPhotoPath);
FileInputStream fis = null;
fis = new FileInputStream(dest);
Bitmap img = BitmapFactory.decodeStream(fis);
smallPhoto.setImageBitmap(img);
경로는'/'로 시작합니다. 나는 네가 일한다고 말하는 것을 포함하여 너의 모든 것이 실패 할 것으로 기대한다. – CommonsWare
잘못된 BitmapOptions을 전달한 것 같습니다. –
첫 번째 경로의 형식이 잘못되었습니다. 중간에 두 번'// '이 있습니다. – LukeJanyga