2012-09-07 6 views
2

기기 자체에서 실행되는 Cordova (AKA Phonegap)를 사용하여 Android '브라우저 내 앱'을 개발 중입니다. 나는 에뮬레이터에서 SD 카드에 파일을 읽거나 쓰는 데 아무런 문제가 없다.하지만 현실 세계에서/sdcard에 마운트되는 것에 의존 할 수 없다는 것이 나에게 발생한다. 특히 친구가 실제로 어떤 장치는 실제로 하나 이상있다.Android 웹 앱에서 SD 카드의 경로 찾기

주위를 둘러 보면서 Java로 앱을 개발할 때 SD 카드의 경로를 찾는 방법에 대한 답을 많이 볼 수 있지만 자바 스크립트에서 동일한 작업을 수행하는 방법은 언급하지 않았습니다. 아무도 나를 올바른 방향으로 향하게 할 수 있는지 궁금합니다. 당신이 사용하는 이유

답변

0

은 그 : 당신이는 onSuccess 콜백에서 얻을

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, onError); 

파일 시스템 객체가 안드로이드에서/sdcard에 디렉토리 대부분의 경우를 가리키는하여 DirectoryEntry 인 루트 속성이됩니다. 이 메소드는 Java 코드를 호출하여 적절한 외부 저장 영역 디렉토리를 판별하며 일관성을 유지해야합니다. 이 경로에 저장

destinationType : Camera.DestinationType.FILE_URI, saveToPhotoAlbum: true 


이미지 : 당신은 폰갭을 사용하여 사진을 저장하려는 경우

+0

감사합니다. 내 원래 코드가 거의 옳았지만 더 강력 해졌습니다. –

+0

나쁜 소식은 일관성이 없다는 것입니다. 그것은/mnt/sdcard에 대한 경로를 올바르게 가져 오는 것 같지만, 불행하게도 어떤 장치는 카드와 다른 경로를 가지고 있습니다.이 경로는 해결되지 않습니다. (특정 사용자 한 명은 삼성 SDS 갤럭시 S3에 착탈식 카드가 extSD로 마운트되어 있지만 파일 시스템 요청은 여전히 ​​sdcard로 전달됩니다.) –

+2

그러면 해당 값은 Environment.getExternalStorageDirectory에 대한 올바른 값을 반환하지 않으므로 해당 전화의 버그입니다)는 저장소가 어디에 있는지를 파악하는 데 사용하는 Android API 호출입니다. –

0

, 당신은 재산 사용해야합니다/MNT/SDCARD/DCIM/카메라를

전체 코드는 다음과 같습니다.

navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, 
    destinationType: destinationType.FILE_URI, 
    sourceType: source }); 
관련 문제