Android CallLog.Calls提供程序查询问题

时间:2011-03-05 22:08:20

标签: android provider

我正在尝试使用CallLog.Calls内容提供程序获取通话记录。但是,我对于我需要进行的查询几乎没有丢失。我能够进行查询并将结果加载到ListView中。但查询返回所有类型的调用。

当然我可以使用switch-case并根据返回的调用类型采取适当的操作。但对于我的程序,我只需要传出呼叫日志。

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

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

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

1 个答案:

答案 0 :(得分:1)

试试这段代码:

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