gpt4 book ai didi

android - 如何删除通话记录

转载 作者:太空宇宙 更新时间:2023-11-03 13:17:48 26 4
gpt4 key购买 nike

谁能告诉我如何从安卓手机上删除通话记录,

我正在使用下面的代码行

 getActivity().getContentResolver().delete(CallLog.Calls.CONTENT_URI, null, null);

但是,这对我不起作用,我想删除整个通话记录历史记录。

最佳答案

以下代码对我有用..

private void deleteNumber() {
try {
String strNumberOne[] = { "00577698160" };
Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, CallLog.Calls.NUMBER + " = ? ", strNumberOne, "");
boolean bol = cursor.moveToFirst();
if (bol) {
do {
int idOfRowToDelete = cursor.getInt(cursor.getColumnIndex(CallLog.Calls._ID));
getContentResolver().delete(Uri.withAppendedPath(CallLog.Calls.CONTENT_URI, String.valueOf(idOfRowToDelete)), "", null);
} while (cursor.moveToNext());
}
} catch (Exception ex) {
System.out.print("Exception here ");
}
}

编辑: 以下代码也适用于 API 23

确保您在 manifast.xml 中具有以下权限:

<uses-permission android:name="android.permission.READ_CONTACTS" /> 
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />

要删除特定号码的通话记录,请尝试这种方式:

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

关于android - 如何删除通话记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33149793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com