2
내 응용 프로그램에서 잘 작동하는 K9에서 수신 한 전자 메일을 듣지 만 실제 메일, 보낸 사람,받는 사람, 제목 등을 포함하지 않는 것 같습니다. 메일의 실제 본문을 가져올 방법이 있습니까? ?K9 메일 클라이언트는 브로드 캐스트 인 텐트를 통해 메일 내용을 가져 오는 방법을 제공합니까?
내 응용 프로그램에서 잘 작동하는 K9에서 수신 한 전자 메일을 듣지 만 실제 메일, 보낸 사람,받는 사람, 제목 등을 포함하지 않는 것 같습니다. 메일의 실제 본문을 가져올 방법이 있습니까? ?K9 메일 클라이언트는 브로드 캐스트 인 텐트를 통해 메일 내용을 가져 오는 방법을 제공합니까?
MailWidget app (http://android.sopht.ca/)의 소스 코드를 살펴보면 방법을 찾았습니다. 그러나, 나는 그것이 문서화 된 것 같지 않아요 :
public class MessageReceiver extends BroadcastReceiver {
public static final Uri k9Uri = Uri.parse("content://com.fsck.k9.messageprovider/inbox_messages/");
static String[] messages_projection = new String[] {
"_id",
"date",
"sender",
"subject",
"preview",
"account",
"uri",
"delUri"
};
@Override
public void onReceive(Context context, Intent intent) {
Cursor curSt = mContext.getContentResolver().query(k9Uri, messages_projection, null, null, null);
curSt.moveToFirst();
String preview = curSt.getString(curSt.getColumnIndex("preview"));
}
}
이것은 훌륭하지만 하나의 수정, "_ID"열이 올바르지 않습니다. 그것은 소문자 (일명 "_id") 여야합니다. 그렇지 않으면 실패합니다. –