我使用的是android-send-me-logs api,除了通过电子邮件发送日志外,一切正常。这里的源代码是:
public void sendLog(String email, String subject, String preface) {
ArrayList<String> lines = mLastLogs;
if (lines.size() > 0) {
Uri emailUri = Uri.parse("mailto:" + email);
StringBuilder sb = new StringBuilder(preface)
.append(LINE_SEPARATOR);
String phoneInfo = collectPhoneInfo();
sb.append(LINE_SEPARATOR).append(phoneInfo);
for (String line : lines)
sb.append(LINE_SEPARATOR).append(line);
String content = sb.toString();
Intent intent = new Intent(Intent.ACTION_SENDTO, emailUri);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, content);
mContext.startActivity(intent);
}
}
我正在调用这种方法,这一切都很有效 - 但我从未收到过电子邮件!我已经尝试了几个正确的电子邮件地址(包括googlemail),但无济于事。我可以显示AlertDialog而不是发送电子邮件,我看到显示的所有日志。那没问题。但由于某种原因,我没有收到电子邮件。任何的想法?我在Android 2.3.3和三星Galaxy S2上。谢谢!
答案 0 :(得分:0)
如果您的消息超过40K,则无法以这种方式发送消息。意图建立在Binder之上,它们不能传输超过40K的信息。 Here您可以找到这些详细信息。
答案 1 :(得分:0)
尝试将日志作为附件发送。您可能需要查看我的完整解决方案:Need to handle uncaught exception and send log file
答案 2 :(得分:0)
我对如何将日志放入日志文件并通过电子邮件发送(logcat到文件并记录到文件)有一个全面的答案:Android LogCat File Location and Emailing A Copy of It