2012-04-26 9 views
1

K-9メールクライアントから未読メールのリストを取得しようとしています。私は次のコードを使用しています:K-9メールアプリから未読メールを取得できません

public class EmailReceiver extends BroadcastReceiver{ 
public static final Uri k9uri = Uri.parse("content://com.fsck.k9.messageprovider/inbox_messages/"); 
static String[] messages_projection = new String[] {"subject", "preview", "unread"}; 


@Override 
public void onReceive(Context context, Intent intent) { 
    try { 
     Context mContext = context; 
     Cursor curSt = mContext.getContentResolver().query(k9uri, messages_projection, "unread='true'", null, null); 
     curSt.moveToFirst(); 
... 

問題は、読んでいるかどうかにかかわらず受信トレイにあるすべてのメッセージを返すことです。私は読んだメッセージと未読のメッセージの両方から「未読」の列の内容を見てきました。それらはそれぞれ「真」と「偽」という値を持っています。私はこれのための解決策を探しましたが、それを思い付くことはできません。誰もこの問題に遭遇したことはありませんか?もしそうなら、これに対する修正があります。

ありがとうございました

答えて

0

アレイをフィルタリングするだけで完了です。

+0

ありがとうそれは私が必要としたものです。私は、未読メールの件名と本文を収集するためにハッシュマップを使用しました。ここに私が使用したコードがあります: – androidnoob

+0

'Cursor curSt = mContext.getContentResolver()。query(k9uri、messages_projection、null、null、null); \t \t \t curSt.moveToFirst(); \t \t \t中(!curSt.isAfterLast()){ \t \t \t \t場合(curSt.getString))(curSt.getColumnIndex( "未読"。等号( "真")){ \t \t \t \t \tのメール.put(curSt.getString(curSt.getColumnIndex( "対象"))、 \t \t \t \t \t \t \t curSt.getString(curSt.getColumnIndex( "プレビュー")))。 \t \t \t \t} \t \t \t \t curSt.moveToNext()。 \t \t \t} – androidnoob

関連する問題