0

我想从通话记录中删除特定号码。数字是这样的 - “#6666#”。在Android中以编程方式从通话记录中删除特定号码

我这样做:

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

确保你已经在manifast.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); 
    } 
} 
+0

不好。这就是我正在做的。 – 2014-09-06 18:36:16

+0

你正在得到什么错误? – 2014-09-06 18:36:37

+0

@SagarPilkhwal:我想OP已经在他的问题中提到他的错误/问题。 – 2014-09-06 18:39:30

相关问题