0

getcontent()メソッドを使用してGmailコンテンツを取得しようとすると、次の例外が発生します

java.lang.ClassCastException: com.sun.mail.imap.IMAPInpustream を javax.mail.Multipart にキャストできません

そのため、inputsream を文字列に変換しましたが、text/html 以外のすべてのデータを返します。しかし、もしあれば、添付ファイル付きのテキスト/htmlデータのみが必要です。

私のコード:

if(contentType.contains("multipart/alternative") || contentType.contains("multipart/MIXED")){
            Log.i("content type...","inside if stmt "+contentType);
            Multipart mp = (Multipart)gmsg.getGmailContent();
            try {
                for(int k=0;k<mp.getCount();k++){
                      javax.mail.BodyPart p = mp.getBodyPart(k);
                      if("text/html".equals(p.getContentType())){
                         /* gContent.loadDataWithBaseURL("https://mail.google.com",
                                  p.getContent().toString() , "text/plain","UTF-8", null); */
                          Log.i("msg", p.getContent().toString());
                      }
                    }
            } catch (MessagingException e) {
                // TODO Auto-generated catch block
                Log.i("error", e.toString());
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

libs フォルダーに mail.jar、activation.jar、additional.jar を含めました。

グーグルでたくさん検索しましたが、解決策はありませんでした。助けてください..よろしくお願いします..

4

2 に答える 2

0

文字列を読みたい場合:

交換

if("text/html".equals(p.getContentType())){

if("text/plain".equals(p.getContentType())){
于 2013-07-13T13:13:52.140 に答える