2012-04-26 102 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 2012-04-27 21:47:34

+0

'遊標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電子郵件。把(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 2012-04-27 21:48:13