如何从应用程序中删除通话记录。我是这样做的
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI,null,null);
它不起作用。
请确保在Manifest.xml
文件中有以下权限:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
要删除特定号码的通话记录,请尝试以下方法:
public void DeleteCallLogByNumber(String number) {
String queryString = "NUMBER=" + number;
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI, queryString, null);
}
<uses-permission android:name="android.permission.READ_CALL_LOG" /> <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
? :) - keybee现有解决方案无法删除以0或+为前缀的数字。 为使其适用于所有电话号码,需要将电话号码放在单引号中,如下所示:
String queryString = "NUMBER='"+numberToDelete+"'";
context.getContentResolver().delete(CallLog.Calls.CONTENT_URI, queryString, null);
希望这能有所帮助。接受的答案将删除特定号码在通话记录中的所有通话。如果您想仅删除单个通话,可以通过向该函数传递CallLogId并运行此查询来实现。
public void DeleteCallById(String idd) {
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI,CallLog.Calls._ID + " = ? ",
new String[] { String.valueOf(idd) });
}
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
您需要仅授予此权限才能与此方法一起使用:
this.getContentResolver().delete(CallLog.Calls.CONTENT_URI, null, null);
这对我来说运作得非常完美。我已在我的Moto-G上测试过它,运行的是Kitkat 4.4.2和Samsung Note,运行的是Jelly Bean 4.1。
以下是一种更好的方法,例如,如果数据库中存储的号码为:“914111222”,则此方法可以处理类似于“+98 914 111 2222”的号码:
public void removeContactsLogFromPhoneLogs(String numberTag){
char[] number=numberTag.toCharArray();
String n="%";
for(int i=0;i<number.length;i++)
{
n=n+(number[i]+"%");
}
String queryString=CallLog.Calls.NUMBER+" LIKE '"+n+"'";
mContext.getContentResolver().delete(CallLog.Calls.CONTENT_URI,queryString,null);
}
需要以下权限才能进行IT技术操作:
<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
public void deleteCallLog(List<String> listOfIds){
getContentResolver().delete(CallLog.Calls.CONTENT_URI,CallLog.Calls._ID + " in (" + TextUtils.join(",", listOfIds) + ")",
null);
callLogAdapter.notifyDataSetChanged();
}
<uses-permission android:name="android.permission.READ_CONTACTS" />
和<uses-permission android:name="android.permission.WRITE_CONTACTS" />
。 - ρяσѕρєя K