android为呼叫日志添加号码

时间:2010-07-02 13:25:58

标签: android calllog

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

我已经阅读了this post,但它恰好很久才被发布。

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

2 个答案:

答案 0 :(得分: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"/>

答案 1 :(得分:1)

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