2011-03-05 71 views
1

我试图通过使用CallLog.Calls内容提供程序来获取通话记录。但是,我对我需要做的查询有点失落。我能够进行查询并将结果加载到ListView中。但查询返回所有类型的调用。Android CallLog.Calls提供程序查询问题

当然,我可以使用切换大小写,并根据返回的调用类型采取适当的操作。但对于我的计划,我只需要拨出电话记录。

那么,我该如何修改查询以获取仅传出呼叫类型。 (我相信我必须在某处使用CallLog.Calls.OUTGOING_TYPE?)。我试图以各种方式修改查询,但我不断收到错误。如果我尝试提供CallLog.Calls.OUTGOING_TYPE作为选择参数,我会收到一个错误,因为它是一个int类型,查询会查找String类型。

我可能会错过简单的东西,但无法弄清楚。任何帮助将非常感激。谢谢。下面是我下面的查询,

getContentResolver().query(CallLog.Calls.CONTENT_URI,null, null, null, ORDER_BY); 

回答

1

试试这个代码片段:

Cursor c = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, 
             CallLog.Calls.TYPE + "=?", 
             new String[] { String.valueOf(CallLog.Calls.OUTGOING_TYPE) }, 
             ORDER_BY); 
+0

感谢。这工作。 – redGREENblue 2011-03-07 04:51:39