2016-10-08 107 views
1

我刚刚阅读了类Log的Api并试用了它,但是我根本没有成功。 我尝试下面的代码与模拟器:CodenameOne发送日志文件

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

在我的智能手机上安装应用程序后,它工作正常,这意味着日志文件附加到邮件。通过电子邮件发送日志文件不适用于使用Thunderbird作为电子邮件客户端的模拟器。我不知道是因为电子邮件客户端还是模拟器。它应该与emualtor和其他电子邮件客户端合作吗? – Guzzer

+0

模拟器仅使用mailto:URL,因为此功能在JavaSE中不可用 –