1

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();
...

問題は、受信ボックスにあるすべてのメッセージが、読み取られたかどうかに関係なく返されることです。既読メッセージと未読メッセージの両方から「未読」列の内容を確認しましたが、それぞれ値「true」と「false」があります。私はこれに対する解決策を探しましたが、それを思い付くことができません。誰かがこの問題に遭遇したことがありますか。もしそうなら、これに対する修正があります。

ありがとう

4

1 に答える 1

0

配列をフィルタリングするだけで完了です。

于 2012-04-26T16:09:32.180 に答える