0
我正在編寫Android GMail客戶端應用程序。JavaMail消息getHeader()bug
當它創建了一個消息,我一個頭添加到它:
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(username));
msg.setSubject(subject);
msg.setText(message);
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
long time = someTime;
msg.addHeader("My_Header", Long.toString(time));
//IMAPFolder f declaration & initialization
f.open(Folder.READ_WRITE);
f.addMessages(new Message[]{msg});
f.close(true);
這一切工作正常,我能夠看到正確添加到郵件的標題上觀看我的Gmail帳戶時,我PC。但是,當我稍後嘗試檢索標題信息時,它變得非常奇怪。
當我打電話
String[] str = msg.getHeader("My_Header");
getHeader()
回報null
我是否正在運行的應用程序。但是,當我調試應用程序並在getHeader()
調用之前設置斷點時,它會正確返回標頭值。
我的源代碼:
MimeMessage msg = getNextMessage();
String subject = msg.getSubject();
InternetAddresses to[] = msg.getAllRecipients()
String when[] = msg.getHeader(GMailClient.TIME_TO_SEND);
if (when == null) {
Log.i(TAG, "Null Header");
} else {
long time = Long.parseLong(when[0]);
Log.i(TAG, "Value retrieved: " + when[0]);
}