2 votes

Le client de messagerie K9 permet-il d'obtenir le contenu d'un courrier par le biais d'une intention de diffusion ?

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 ?

2voto

Christian Points 1200

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"));

  }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X