如何以编程方式添加电话记录中的Andr​​oid? [英] How to add phone logs programmatically in Android?

查看:108
本文介绍了如何以编程方式添加电话记录中的Andr​​oid?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从我的自定义应用程序编程添加电话记录。 使用下面的code添加电话记录,我的手机日志列表得到一个新的电话记录, 但它只会增加列表中的电话号码,而不是呼叫类型,持续时间,和日期。

我错过了什么?

  ContentValues​​值= NULL;
    的for(int i = 0; I<长度;我++){
        信息信息=(信息)Variables.elementAt(我);
        INT指数= info.getIndex();
        字符串值= info.getValue();
        值=新ContentValues​​();
        如果(值!= NULL){
            如果(指数== Constants.NUMBER_TYPE){
                values​​.put(CallLog.Calls.CACHED_NUMBER_TYPE,价值);
            }否则,如果(指数== Constants.CALL_TYPE){
                values​​.put(CallLog.Calls.TYPE,价值);
            }否则,如果(指数== Constants.DATE){
                values​​.put(CallLog.Calls.DATE,价值);
            }否则,如果(指数== Constants.DURATION){
                values​​.put(CallLog.Calls.DURATION,价值);
            }
        }
    }
    values​​.put(CallLog.Calls.NUMBER,phoneNumber的);
    。activity.getContentResolver()插入(CallLog.Calls.CONTENT_URI,价值观);
 

解决方案

我在LG P350尝试这样做。 它确实工作原理与 android.permission.WRITE_CONTACTS 许可。

  ContentValues​​值=新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()插入(CallLog.Calls.CONTENT_URI,价值观);
 

I want to add phone logs programmatically from my custom application. Using the following code for adding phone logs, I get a new phone log in phone log list, but it only adds the phone number in the list, not "call type", "duration", and "Date".

What did I miss?

    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);

解决方案

I tried this in my LG P350. Its surely works with the android.permission.WRITE_CONTACTS permission.

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);

这篇关于如何以编程方式添加电话记录中的Andr​​oid?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆