【问题标题】:Delete only incoming call in Call Logs in android在android的通话记录中只删除来电
【发布时间】:2016-05-04 18:27:39
【问题描述】:

是否可以从通话记录列表中只删除来电?

如果有怎么办?

我可以轻松删除所有电话,但不确定如何只删除来电?

有人可以帮我解决这个问题吗?

谢谢!

【问题讨论】:

    标签: android calllog


    【解决方案1】:

    CallLog 提供者数据库中,android.provider.CallLog.Calls.TYPE ("type") 列将具有值 android.provider.CallLog.Calls.INCOMING_TYPE (1) 用于来电记录。

    【讨论】:

      【解决方案2】:

      type = 1

      条件下使用下面的方法
      public void delete(final String id, final String number) {
          Uri uri = Uri.parse("content://call_log/calls");
          ContentResolver cr = context.getContentResolver();
          Cursor c = cr.query(uri, null, "and type = 1 and _id" + "=?", new String[] { "" + id }, null);
          if (c != null && c.moveToFirst()) {
              do {
                  String pid = c.getString(c.getColumnIndex("_id"));
                  String pnumber = c.getString(c.getColumnIndex("NUMBER"));
                  if (id.equals(pid) && number.equals(pnumber)) {
                      context.getContentResolver().delete(CallLog.Calls.CONTENT_URI, CallLog.Calls._ID + " = ?", new String[] { id });
                  }
              } while (c.moveToNext());
          }
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-15
        相关资源
        最近更新 更多