如何使用Gmail.java阅读对话

| 我需要阅读gmail消息/会话才能为盲人制作程序。 我正在使用Gmail.java访问gmail数据库。问题是我不知道如何访问邮件正文。 有人可以帮助我吗? 我的代码的一小段摘录: Uri uri = Uri.parse(                 Gmail.AUTHORITY_PLUS_CONVERSATIONS +帐户+ \“ / \”);         游标cursorConversacion = contentResolver.query(                 uri,Gmail.CONVERSATION_PROJECTION,null,null,null);
    int j = 1;
    //Comprobamos que hay cursor
    if (cursorConversacion.moveToFirst()){

        Gmail gmail = new Gmail(mContext.getContentResolver());
        ConversationCursor cc = new ConversationCursor(gmail,account,cursorConversacion);

        do{
            String cuenta = cc.getAccount();
            String snippet = cc.getFromSnippetInstructions();
            String subject = cc.getSubject();
            String numMessages = \"\" +  cc.getNumMessages();
            String conversationID = \"\" + cc.getConversationId();

            Log.d(\"DEBUG\",\"\\n\\n\\n MENSAJES \" + j + \" \\n\\n\" + 
                    \" ID: \" + conversationID +
                    \" Num messages: \" + numMessages + 
                    \" Subject: \" + subject + 
                    \"\\nCuenta: \" + cuenta +
                    \" snippet: \" + snippet


            );

            //MessageCursor a partir de la conversacion
            Uri uriMessages = Uri.parse(
                    Gmail.AUTHORITY_PLUS_CONVERSATIONS + account + \"/\" + conversationID + \"/messages\");
            Cursor cursorMessages = contentResolver.query(
                    uri, Gmail.MESSAGE_PROJECTION, null, null, null);


            if (cursorMessages.moveToFirst()){
                int k=1;
                do{
                    MessageCursor mc = new MessageCursor(gmail, contentResolver, account, cursorMessages);
                    Log.d(\"DEBUG\",\"Mensaje \" + k + \" \" + mc.getBody());

                    k++;
                }while ( (k < 10) && (cursorMessages.moveToNext()) ) ;

            }



            j++;
        }while ( (j< 20) && (cursorConversacion.moveToNext()) );

    }
问题是我不知道如何访问邮件的正文。 可以访问对话,但messageCursor无效。我知道/相信对messageCursor的使用不是对消息(对话的消息)的使用,而且我知道对未降级的提供程序的使用不是一个好主意(如果您有更好的服务,请告诉我!!!) !),但这是我发现解决问题的更好的解决方案。 泰语的帮助,对不起我的英语。     
已邀请:
自动回答:D
public void getMails(Context mContext){
    String account=\"blablabla_accountgmail@gmail.com\";
    ContentResolver contentResolver= mContext.getContentResolver();
    Cursor cursor = contentResolver.query(ACCOUNT_URI, null, null, null, null);



    Uri uri = Uri.parse(
            Gmail.AUTHORITY_PLUS_CONVERSATIONS + account + \"/\");
    Cursor cursorConversacion = contentResolver.query(
            uri, Gmail.CONVERSATION_PROJECTION, null, null, null);

    int j = 1;
    //check cursor
    if (cursorConversacion.moveToFirst()){

        Gmail gmail = new Gmail(mContext.getContentResolver());
        ConversationCursor cc = new ConversationCursor(gmail,account,cursorConversacion);

        do{ //extract some data for the example
            String cuenta = cc.getAccount();
            String snippet = cc.getFromSnippetInstructions();
            String subject = cc.getSubject();
            String numMessages = \"\" +  cc.getNumMessages();
            String conversationID = \"\" + cc.getConversationId();

            Log.d(\"DEBUG\",\"\\n\\n\\n MENSAJES \" + j + \" \\n\\n\" + 
                    \" ID: \" + conversationID +
                    \" Num messages: \" + numMessages + 
                    \" Subject: \" + subject + 
                    \"\\nCuenta: \" + cuenta +
                    \" snippet: \" + snippet


            );


            MessageCursor mc = new Gmail(contentResolver).getMessageCursorForConversationId(account, cc.getConversationId());


            if (mc.getCursor().moveToFirst()){
                int k=1;
                do{
                    //MessageCursor mc = new MessageCursor(gmail, contentResolver, account, cursorMessages);
                    Log.d(\"DEBUG\",\"Mensaje \" + k + \" \" + mc.getBody());
                    Log.d(\"DEBUG\",mc.getFromAddress());

                    k++;
                }while ( (k < 10) && (mc.next()) ) ;

            }



            j++;
        }while ( (j< 20) && (cursorConversacion.moveToNext()) );

    }
此代码使用Gmail.java(我的问题帖子中的链接),这是提取电子邮件正文的示例。您可以提取其他属性,例如mailFrom或date send     

要回复问题请先登录注册