你如何在android中清除你的通话记录历史记录?

时间:2012-08-02 22:35:03

标签: android phone-call calllog

如何在android中清除整个通话记录历史记录?目前我有这个代码只能清除特定的通话记录

public void DeleteCallLogByNumber(String number) {   
    String queryString="NUMBER="+number; 
    this.getContentResolver().delete(CallLog.Calls.CONTENT_URI,queryString,null);
    }  
}

3 个答案:

答案 0 :(得分:7)

我能够做到这一点,但已经有一段时间了。不确定这是否仍然有效。

getContentResolver().delete(android.provider.CallLog.Calls.CONTENT_URI, null, null) ;

编辑:请注意我不确定平台设计人员是否希望应用能够删除通话记录See this dev blog post。因此,虽然这在技术上有效,但请将此视为一个公平的警告,它可能在任何时候改变并打破您正在尝试构建的内容。

答案 1 :(得分:2)

您无法通过单个API调用删除所有内容。

然而,您可以通过循环遍历它们来逐个删除它们(如评论中所述)。为此,您需要use a Cursor。请注意:该链接仅会消除少于60秒的通话,因此您必须修改Cursor创建以删除所有通话。

另请注意:对于API 11+,您应该使用CursorLoader而不是managedQuery(...)

答案 2 :(得分:1)

试试这个:

String queryString="DURATION >= 0"; 
this.getContentResolver().delete(android.provider.CallLog.Calls.CONTENT_URI, queryString, null);