zoukankan      html  css  js  c++  java
  • Android之插入通话记录,短信箱插入短信,号码薄插入联系人

     (一) 通话记录的插入。

    呼叫记录有三种类型:

        来电:CallLog.Calls.INCOMING_TYPE  (常量值:1)
        已拨:CallLog.Calls.OUTGOING_TYPE (常量值:2)
        未接:CallLog.Calls.MISSED_TYPE (常量值:3)

    插入通话记录的代码如下:

    private void insertCallLog(TriggerService triggerService, String string,String string2, String string3, String string4, long i)
    {
        // TODO Auto-generated method stub
        ContentValues values = new ContentValues(); 
        values.put(CallLog.Calls.NUMBER, string);
        values.put(CallLog.Calls.DATE, System.currentTimeMillis()+i);
        values.put(CallLog.Calls.DURATION, string2);
        values.put(CallLog.Calls.TYPE,string3);//未接
         values.put(CallLog.Calls.NEW, string4);//0已看1未看
            
        getContentResolver().insert(CallLog.Calls.CONTENT_URI, values);
    }

    注意:getContentResolver()的使用必须得到上下文context。此处的context是TriggerService。

    调用insertCallLog函数来插入一条通话记录,代码如下:

    insertContacts(TriggerService.this,"兵","李","15903245566","62254959");

    AndroidManifest.xml里需要添加如下权限:

    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />   

    (二) 短信收件箱插入短信。

    public static Uri mSmsUri = Uri.parse("content://sms/inbox");
    private void insertsms() 
    {
        // TODO Auto-generated method stub
        for(int i=0;i<20;i++)
        {
            ContentValues values = new ContentValues();
            values.put("address", "13898878776");
            values.put("body", "您好!");
            values.put("date", 20111101);        
            values.put("read", 0);
            values.put("type", 1);
            values.put("service_center", "+8613010776500");
            
            getContentResolver().insert(mSmsUri, values);
        }
    }

    AndroidManifest.xml里需要添加如下权限:

    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.WRITE_SMS" />

     (三) 号码薄插入联系人。

    private void insertContacts(TriggerService triggerService, String string,String string2, String string3, String string4) 
    {
        // TODO Auto-generated method stub
            
        ContentValues values = new ContentValues();        
        Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values); 
        long rawContactId = ContentUris.parseId(rawContactUri); 
     
        values.clear(); 
        values.put(Data.RAW_CONTACT_ID, rawContactId); 
        values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE); 
        values.put(StructuredName.GIVEN_NAME, string); 
        values.put(StructuredName.FAMILY_NAME, string2); 
        getContentResolver().insert(Data.CONTENT_URI, values);
            
        values.clear(); 
        values.put(Data.RAW_CONTACT_ID, rawContactId); 
        values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE); 
        values.put(Phone.NUMBER, string3); 
        values.put(Phone.TYPE,Phone.TYPE_MOBILE); 
        getContentResolver().insert(Data.CONTENT_URI, values);
            
        values.clear(); 
        values.put(Data.RAW_CONTACT_ID, rawContactId); 
        values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE); 
        values.put(Phone.NUMBER, string4); 
        values.put(Phone.TYPE,Phone.TYPE_HOME); 
        getContentResolver().insert(Data.CONTENT_URI, values);
    }

    本文转自http://blog.csdn.net/shichexixi/article/details/6583434

     

     

     

     

  • 相关阅读:
    NYoj-119-士兵杀敌(3)-RMQ算法
    springMVC3学习(九)--redirect和forward跳转
    STL
    在 Ubuntu 12.04 上通过源码安装 Open vSwitch (OVS)
    SSO 基于CAS实现单点登录 实例解析(二)
    Linux
    linux的子进程调用exec( )系列函数
    以Settings.APPLICATION_DEVELOPMENT_SETTINGS打开开发人员面板出错总结
    python学习记录
    CentOS6.X下安装配置独立SVN服务器Subversion server
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/2777687.html
Copyright © 2011-2022 走看看