你怎么能清除整个通话记录历史的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) ;
编辑:请注意,我不能肯定用于应用程序的平台设计者能够删除通话记录看到这个dev的博客文章 。 因此,尽管这样做在技术上的工作,请把这个作为一个公平的警告,它可能在任何时候改变和打破你正在试图建立。
你不能用一个单一的API调用全部删除。
你可以,但是,通过他们全部循环删除它们一个接一个(如在评论中提到的)。 要做到这一点,你要使用Cursor
。 请记住:该链接只打掉的小于60秒的呼叫,所以你必须修改Cursor
创建到删除所有呼叫代替。
另外请注意:对于API的11+,你应该使用CursorLoader
代替managedQuery(...)
试试这个:
String queryString="DURATION >= 0";
this.getContentResolver().delete(android.provider.CallLog.Calls.CONTENT_URI, queryString, null);