Dans mon application, j'écoute l'intention d'email reçu de K9, ce qui fonctionne bien, mais il ne semble pas contenir le courrier proprement dit, seulement l'adresse de l'expéditeur, l'adresse du destinataire, le sujet, etc. Existe-t-il un moyen d'obtenir le corps du message ?
Réponse
Trop de publicités?En examinant le code source de l'application MailWidget app ( http://Android.sopht.ca/ ), j'ai trouvé un moyen. Cependant, je ne pense pas qu'il soit documenté :
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"));
}
}