Android CallLog.Calls provider查询问题

标签 android provider

我正在尝试使用 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/

相关文章:

java - 设置 Java OAuth 提供程序

flutter - 如何在flutter Provider中为单个小部件使用多个消费者

service - SAML 2.0多个md :NameIDFormat tag in service provider metadata

android - 应用程序可能在其主线程上做了太多工作

android - 扩展 View 类和使用布局 xml 文件的示例代码

java - Android 为什么我在为启动画面膨胀图层列表时出现错误

documentation - 您如何将自定义提供程序集成到 Microsoft Web 部署工具中?

Flutter 提供程序无法在发布 apk 中工作,但在 Debug模式下工作正常

android - 如果某些 View 可见性在约束布局中消失,如何将约束设置为不同的 View ?

java - 将 ListView 值传递给另一个 Activity 中的多个 EditText