2011-07-27 11 views
2

발신지 (Gmail, 교환기, IMAP 등)에 상관없이 Android에서 수신 이메일을 프로그래밍 방식으로 가로채는 방법을 찾고 있습니다. 나의 주요 관심사는 메일 본문보다는 메일 헤더를 살펴 보는 것이다. 단지 다음 코드를 사용하여 Gmail에 수행 할 수 있습니다 - 수신 메일 알림 android

ContentResolver cr = getContentResolver(); 
Cursor unread = cr.query(Uri.parse("content://gmail-ls/conversations/[email protected]"), null, "label:^u", null, null); 
unread.moveToFirst(); 
int subjectIdx = unread.getColumnIndex("subject"); 

do { 
    String subject = unread.getString(subjectIdx); 
} while (unread.moveToNext()); 

이 ... 또한 this answer있다. 비 Gmail 계정에서 사용할 수있는 것과 같은 것입니까? 나는 이론적으로 사용자에게 사용자 이름과 암호를 요청하고 imap을 통해 연결할 수 있음을 알고 있지만 비즈니스 측면에서는 할 수 없습니다. 환영합니다 수 있습니다

모든 솔루션, 즉 자바 SDK, NDK, 문서화되지 않은 API이든 필요 의미합니다. 구글은 Gmail의 나머지의 API에 대한 푸시 알림을 발표했다

:

+1

사용자가 직면하는 문제는 사용자가 기본 메일 클라이언트를 사용할 것이라는 보장이 없다는 것입니다. 나는 K9 메일을 사용하는데, 이것은 자체 데이터베이스를 사용하고 스톡 메일 클라이언트와 완전히 별개이므로, 당신이보고있는 접근 방식은 나의 경우 K9에서 검색 한 모든 이메일을 놓칠 것이다. –

+0

@ 마크 - 난 알아,하지만 우리는 기본적으로 하나의 –

+0

@ 마크 시작 - 또한, 우리는 나는 단지 예로서 K9을 사용했다 K9 –

답변

0

내 자신의 질문에 대답. 나는 그것을 사용하지 않은,하지만 문서는이 작업을 수행하는 두 가지 옵션이 있습니다 here

올드 대답

경우 : GMail Inbox Feed

  • 사용이 - 당신이 액세스 할 수 있습니다 Atom 피드입니다 OAuth 사용 방법. 그것은받은 편지함에 읽지 않은 항목 만 표시하므로 매우 제한됩니다.
  • GMail IMAP extensions을 사용하고 IMAP 및 OAuth를 사용하여 연결하십시오. 여기에서 전체 사용자 사서함에 액세스 할 수 있습니다. 이 방법

모두 풀 기반보다는 푸시 기초하는 한계를 갖는다. 나는 IMAP 푸시가 작동하지 않을 것이라는 점을 (비록 시도하지는 않았지만) 의심 스럽다. 그리고 어쨌든 나는 그것을 모바일 장치에서 신뢰하지 않을 것이다.