2012-04-26 101 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