如何清除android中的整个通话记录历史?目前我有这个代码只能清除特定的通话记录
public void DeleteCallLogByNumber(String number) {
String queryString="NUMBER="+number;
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI,queryString,null);
}
}
如何清除android中的整个通话记录历史?目前我有这个代码只能清除特定的通话记录
public void DeleteCallLogByNumber(String number) {
String queryString="NUMBER="+number;
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI,queryString,null);
}
}
我能够做到这一点,虽然已经有一段时间了。不确定这是否仍然有效。
getContentResolver().delete(android.provider.CallLog.Calls.CONTENT_URI, null, null) ;
编辑:请注意,我不确定平台设计者是否打算让应用程序能够删除通话记录,请参阅此开发博客文章。因此,尽管这在技术上确实有效,但请将此视为一个公平的警告,它可能在任何时候改变并破坏您正在尝试构建的内容。
您无法通过单个 API 调用删除所有内容。
但是,您可以通过循环全部删除它们(如评论中所述)。为此,您需要使用Cursor
. 请记住:该链接只会消除少于 60 秒的呼叫,因此您必须修改Cursor
创建以删除所有呼叫。
另请注意:对于 API 11+,您应该使用CursorLoader
而不是managedQuery(...)
.
试试这个:
String queryString="DURATION >= 0";
this.getContentResolver().delete(android.provider.CallLog.Calls.CONTENT_URI, queryString, null);