如何在Android中以编程方式添加手机日志?

时间:2011-09-29 04:39:24

标签: android

我想从我的自定义应用程序中以编程方式添加电话日志。 使用以下代码添加电话日志,我在电话日志列表中获得了一个新的电话日志, 但它只在列表中添加电话号码,而不是“呼叫类型”,“持续时间”和“日期”。

我错过了什么?

    ContentValues values = null;
    for (int i = 0; i < length; i++) {
        Info info = (Info) Variables.elementAt(i);
        int index = info.getIndex();
        String value = info.getValue();
        values = new ContentValues();
        if (value != null) {
            if (index == Constants.NUMBER_TYPE) {
                values.put(CallLog.Calls.CACHED_NUMBER_TYPE, value);
            } else if (index == Constants.CALL_TYPE) {
                values.put(CallLog.Calls.TYPE, value);
            } else if (index == Constants.DATE) {
                values.put(CallLog.Calls.DATE, value);
            } else if (index == Constants.DURATION) {
                values.put(CallLog.Calls.DURATION, value);
            }
        }
    }
    values.put(CallLog.Calls.NUMBER, phoneNumber);
    activity.getContentResolver().insert(CallLog.Calls.CONTENT_URI, values);

1 个答案:

答案 0 :(得分:2)

我在LG P350中试过这个。 它肯定适用于android.permission.WRITE_CONTACTS权限。

ContentValues values = new ContentValues();
values.put(CallLog.Calls.CACHED_NUMBER_TYPE, 0);
values.put(CallLog.Calls.TYPE, CallLog.Calls.INCOMING_TYPE);
values.put(CallLog.Calls.DATE, System.currentTimeMillis());
values.put(CallLog.Calls.DURATION, 50);
values.put(CallLog.Calls.NUMBER, "1234567890");
getContentResolver().insert(CallLog.Calls.CONTENT_URI, values);