2013-02-28 2 views
0

내 응용 프로그램에서 사용자가 서로 또는 심지어 장치간에 kml 파일을 공유 할 수있게하는 "가져 오기 - 내보내기"프로세스 (gmail 클라이언트 사용)를 설정했습니다. 사용자가 이해할 수있는 단계를 읽으십시오.저장된 전자 메일 첨부 파일에서 kml 파일 읽기

파일 출력 프로세스 :
1) 사용자가지도에 아이콘을 추가합니다.
2) 사용자가/sdcard에 kml 형식의 장소 표시를 사용자 정의 이름으로 저장합니다 ("Saved.kml"라고합시다).
3) 사용자가 Gmail 첨부 파일을 통해 Saved.kml을 "내 보냅니다".

파일 진행 중 :
1) 사용자가 기기의 다운로드 폴더에 Gmail 첨부 파일을 저장합니다.
2) 사용자가 "KML 가져 오기"를 선택하고 목록에서 Saved.kml을 선택합니다.
3) 모든 것이 완벽하게 작동합니다! 위치 표시는 수출/예상대로지도에 나타납니다!

하나의 주요 결함을 제외하고 ... 이것은 가져 오기/내보내기에 대해 동일한 장치를 사용할 때만 작동합니다. 두 가지 장치가 있습니다. Nexus 7 및 LG Motion을 지원하며 어느 기기에서나 작동합니다. 그러나 나는 두 사람 사이에서 일하도록 할 수없고 나는 매우 좌절하기 시작합니다.

매니페스트 변경 :
안드로이드 :의 sharedUserId = "com.xxx.xxx"
안드로이드 : sharedUserLabel = "@ 문자열/sharedUserLabel"

Runtime.getRuntime()을 여기에 내가 시도하는 것이다. exec ("chmod 444 Saved.kml"); // (Android 레벨 4를 지원해야 함)

Saved.kml을 구문 분석하기 직전에이 기능을 사용해 보았습니다. - importFileIn.renameTo (importFileOut); 파일의 이름은 바뀌지 만 여전히 구문 분석에 실패합니다.

ADB 쉘 쇼 : -rw-RW-r-- 사용 루트 sdcard_rw 867 2013년 2월 28일 10시 39분 Saved.kml -rw-RW-r-- 사용 루트 sdcard_rw 867 2013년 2월 28일 11 : 44 SavedRenamed.kml

"adb push"를 사용했는데 푸시 된 파일에 대해 동일한 사용자 ID/사용 권한을 나타내었지만 여전히로드되지 않습니다.

내가 이것을 잡았을 때 게시하기 전에 막 막바지 테스트 시점이었습니다. 동일한 기기에서 테스트 할 때 한 번도 문제가 없었습니다 ... 도와주세요.

답변

0

죄송합니다. Folks, 이 질문은 Stack Overflow를 통해 내가 숙고 해 왔던 모든 것을 타이핑하고 결국 이것이 파일 사용 권한 문제가 아니라고 믿게했습니다. Log.i를 사용하여 예외를 인쇄하고 이것이 실제로 "파일을 찾을 수 없음"오류라는 것을 알았습니다. 물론 완전히 다른 것입니다! 경로 오류, 문제가 해결되었습니다! 나에게 인내심을 가져 주셔서 감사합니다.

+0

도움을 얻으려면 다음과 같이하십시오.
Ron

0

자세한 내용은 다음으로 문의하십시오.
장치 "다운로드"폴더의 파일에서 데이터를 가져 오려고했습니다.
Nexus 7의 경우 "/ storage/emulated/0/Download"입니다.
LG 모션에서 이것은 "/ sdcard/Download"입니다.
"root.getAbsolutePath() +"/ download "를 사용하여 문제가 해결되었습니다.

관련 문제