나는 Android GMail 클라이언트 애플리케이션을 작성 중이다. 이 메시지를 생성 할 때JavaMail 메시지 getHeader() 버그
, 나는 이런 식으로 헤더를 추가
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()
호출 전에 중단 점을 설정할 때 헤더 값을 conrently 반환합니다.
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]);
}