我想从通话记录中删除特定号码。数字是这样的 - " #6666#"。
我这样做:
String queryString = "NUMBER=" + number;
try {
context.getContentResolver().delete(CallLog.Calls.CONTENT_URI,
queryString, null);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
当我使用*#之前和之后并出现运行时异常时,会出现主要问题。没有这一切,一切正常。
有人能为我解决这个问题吗?
答案 0 :(得分:0)
确保您在manifest.xml中具有以下权限:
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
删除特定号码的通话记录,请尝试:
public void DeleteCallLogByNumber(String strNumber ) {
Cursor cursor = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, CallLog.Calls.NUMBER + " = ? ", strNumber , "");
int idOfRowToDelete= cursor.getInt(cursor.getColumnIndex(CallLog.Calls._ID));
getContentResolver().delete(Uri.withAppendedPath(CallLog.Calls.CONTENT_URI, String.valueOf(idOfRowToDelete)), "", null);
}
}