이 튜토리얼 을 따라 카메라 앱을 호출하고 의도에 전달 된 URI에 사진을 저장하도록 요청합니다.
File image = File.createTempFile("testImage", ".jpg",
getExternalFilesDir(Environment.DIRECTORY_PICTURES));
Uri uri = Uri.fromFile(image);
Intent i = new Intent();
i.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(MediaStore.EXTRA_OUTPUT, uri);
if (i.resolveActivity(getPackageManager()) != null) {
startActivityForResult(i, 1);
}
이미지의 경로는 다음과 같습니다.
/storage/emulated/0/Android/data/com.android.test1.app/files/Pictures/testImage-516714791.jpg
카메라 앱이이 경로에 대한 쓰기 권한을 어떻게 얻었는지 묻고 싶습니다. Android 4.4에서 테스트 중이므로 경로 ExternalFilesDir
를 공개적으로 쓸 수 없습니다.
참조 말한다 :
이러한 파일에는 보안이 적용되지 않습니다. 예를 들어 WRITE_EXTERNAL_STORAGE를 보유한 모든 응용 프로그램은 이러한 파일에 쓸 수 있습니다.
KITKAT부터는 반환 된 경로를 읽거나 쓰는 데 권한이 필요하지 않습니다. 호출 앱에서 항상 액세스 할 수 있습니다. 이는 호출 애플리케이션의 패키지 이름에 대해 생성 된 경로에만 적용됩니다. 다른 패키지에 속한 경로에 액세스하려면 WRITE_EXTERNAL_STORAGE 및 / 또는 READ_EXTERNAL_STORAGE가 필요합니다.
따라서 시스템 카메라 앱 또는 WRITE_EXTERNAL_STORAGE
권한 이 부여 된 다른 앱은 /storage/emulated/0/Android/data/com.android.test1.app/files/Pictures/
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다