我正在尝试使用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 );
答案 0 :(得分:1)
试试这段代码:
Cursor c = getContentResolver().query(CallLog.Calls.CONTENT_URI, null,
CallLog.Calls.TYPE + "=?",
new String[] { String.valueOf(CallLog.Calls.OUTGOING_TYPE) },
ORDER_BY);