2016-10-08 3 views
1

방금 ​​Log 클래스의 API를 읽고 시도했지만 전혀 성공하지 못했습니다. 나는 에뮬레이터에 다음 코드를 시도 :코드 명 원이 로그 파일을 보내십시오.

String appHomePath = FileSystemStorage.getInstance().getAppHomePath(); 
    String fileName = (appHomePath + "codenameOne.log"); 
    Log.getInstance().setFileURL(fileName); 
    Log.p("This is a stupid log message!"); 
    Log.getInstance().sendLog(); 

appHomePath 값 "file://home/" 그래서 로그 파일에 설정된 URL은 그 후 아무 일도 "file://home/codenameOne.log"

입니다 가져옵니다. 로그 내용은 어디로 전송됩니까? JavaDoc에는 클라우드로 전송된다는 힌트가 있습니다. 어떤 구름? 앱에 "/ home"디렉토리에 쓸 수있는 권한이 없습니까?

은 그럼 이메일로 보내려고 :

Message m = new Message("Body of message"); 
m.getAttachments().put(Log.getInstance().getFileURL(), "text/plain"); 
Display.getInstance().sendMessage(new String[]{"[email protected]"}, "Log file", m); 

이 올바른 주소 및 본문 텍스트를 열 이메일 클라이언트 창에 이르게되지만 로그 파일 첨부가 전혀 없습니다. 로그 파일이 없기 때문에 어쩌면?

제안 사항? 나는 그것을 필요로한다.

답변

0

Log.sendLog은 프로 기능입니다. setFileURL과 같은 기능과 충돌합니다.

첨부 파일이있는 방식이 효과적 일 것입니다. 내가 무엇이 실패하고 있는지 확신 할 수 없습니다.

+0

스마트 폰에 앱을 설치 한 후 올바르게 작동했는데 이는 로그 파일이 메일에 첨부되었음을 의미합니다. eMail 클라이언트로 Thunderbird를 사용하는 에뮬레이터에서는 eMail을 통해 로그 파일을 전송할 수 없습니다. 그 이유가 이메일 클라이언트인지 에뮬레이터인지는 모르겠습니다. 그것은 emualtor 및 다른 이메일 클라이언트와 함께 작동해야합니까? – Guzzer

+0

시뮬레이터는 JavaSE에서이 기능을 사용할 수 없으므로 mailto : URL을 사용합니다. –