我想从我的自定义应用程序中以编程方式添加电话日志。 使用以下代码添加电话日志,我在电话日志列表中获得了一个新的电话日志, 但它只在列表中添加电话号码,而不是“呼叫类型”,“持续时间”和“日期”。
我错过了什么?
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);
答案 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);