java - 删除不适用于 HTC 的通话记录

标签 java android android-contentprovider

我正在尝试删除某些选定号码的通话记录,代码将在模拟器和我可用于测试的其他两台设备(Q-Mobile A500 和 Sony Ericson X10i)上成功运行并获得所需结果,而客户端在 HTC one 上进行测试它不工作

这是我的代码

    String num, queryString = null;

    number = number.replace(" ", "");
    number = number.replace("-", "");
    if (number.length() > 10) {
        num = number.substring(number.length() - 10, number.length());
        queryString = " LIKE '%" + num + "%'";
    } else {
        queryString = "=" + number;
    }

    // String queryString = "NUMBER=" + number;

    Uri allCalls = Uri.parse("content://call_log/calls");

    context.getContentResolver().delete(allCalls,
            android.provider.CallLog.Calls.NUMBER + queryString, null);

     context.getContentResolver().delete(
     android.provider.CallLog.Calls.CONTENT_URI,
     android.provider.CallLog.Calls.NUMBER + queryString, null);

我试图删除两个查询结果相同但它不能在 HTC one 上工作

最佳答案

您应该通过通话 ID 删除您的通话记录,这可能会有所帮助。

int id = Activity_Name.this.getContentResolver().delete(android.provider.CallLog.Calls.CONTENT_URI,"_ID = "+ calls_id_list.get(i),null);
        if (id == 1) {
            /*delete your call log*/

        } 

可能通过 id 你可以解决你的问题。

关于java - 删除不适用于 HTC 的通话记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18591366/

相关文章:

java - Spring 重载构造函数 Autowiring

android - 发送自定义 IQ 时来自服务器的服务不可用响应

java - 在 BankAccount 项目中找不到 createAccount 符号

android - Facebook 的访问 token 被用户更改,如何获得访问 token 的回调?

android - 如何使用 Dagger 2 将多个组件注入(inject)到同一个对象中

android - 拥有行 uri 后从内容提供者获取数据的正确方法是什么?

android - 正在调用 ContentProvider 的查询方法

android - 如何确保所有服务连接都已绑定(bind)?

java - 创建名称为 '...RedisHttpSessionConfiguration' 的 bean 时出错 : Initialization of bean failed

java - 在开始迭代之前检查 Java 集合是否为空有用吗?