11

无论如何都可以写入呼叫日志数据库吗?我的意思是我想将选定的号码添加到通话记录中。我尝试在网上搜索教程,但找不到任何内容......虽然有一件事情是肯定的,但它可以完成。因为我在网上看到了很多应用程序,它们可以恢复通话记录,所以我想我们可以以某种方式修改通话历史数据库(但我不清楚具体如何)。

我已经读过这篇文章,但它恰好是很久以前发布的。

任何帮助将不胜感激!谢谢!

4

2 回答 2

17

您可以使用此代码段将新记录添加到现有的通话记录内容提供程序:

public static void insertPlaceholderCall(ContentResolver contentResolver, String number){
    ContentValues values = new ContentValues();
    values.put(CallLog.Calls.NUMBER, number);
    values.put(CallLog.Calls.DATE, System.currentTimeMillis());
    values.put(CallLog.Calls.DURATION, 0);
    values.put(CallLog.Calls.TYPE, CallLog.Calls.OUTGOING_TYPE);
    values.put(CallLog.Calls.NEW, 1);
    values.put(CallLog.Calls.CACHED_NAME, "");
    values.put(CallLog.Calls.CACHED_NUMBER_TYPE, 0);
    values.put(CallLog.Calls.CACHED_NUMBER_LABEL, "");
    Log.d(TAG, "Inserting call log placeholder for " + number);
    contentResolver.insert(CallLog.Calls.CONTENT_URI, values);
}

(代码取自Google Voice Callback for Android

记得在 Manifest 中添加权限

<uses-permission
    android:name="android.permission.READ_CONTACTS"/>
<uses-permission
    android:name="android.permission.WRITE_CONTACTS"/>
于 2011-03-20T16:48:31.953 回答
1

链接的帖子解释得很好,所以我不知道你为什么再次问。除非您保留自己的数据库或自己的固件,否则您无法修改通话记录。

于 2010-07-02T13:27:58.387 回答