我正在尝试使用 CallLog.Calls 内容提供程序获取通话记录。但是,我对需要进行的查询几乎没有迷惑。我能够进行查询并将结果加载到 ListView 中。但是查询返回所有类型的调用。
当然,我可以使用 switch-case 并根据返回的调用类型采取适当的操作。但是对于我的程序,我只需要拨出的通话记录。
那么,我该如何修改查询以仅获取拨出调用类型。 (我相信我必须在某处使用 CallLog.Calls.OUTGOING_TYPE?)。我尝试以各种方式修改查询,但我不断收到错误。如果我尝试提供 CallLog.Calls.OUTGOING_TYPE 作为选择参数,我会收到一个错误,因为它是一个 int 类型,并且查询会查找 String 类型。
我可能遗漏了一些简单的东西,但无法弄清楚。任何帮助将非常感激。谢谢。下面是我的查询,
getContentResolver().query(CallLog.Calls.CONTENT_URI,null, null, null, ORDER_BY );
最佳答案
试试这个代码 fragment :
Cursor c = getContentResolver().query(CallLog.Calls.CONTENT_URI, null,
CallLog.Calls.TYPE + "=?",
new String[] { String.valueOf(CallLog.Calls.OUTGOING_TYPE) },
ORDER_BY);
关于Android CallLog.Calls provider查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5207112/