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

     

     

     

     

  • 相关阅读:
    计算机网络知识 第一部分
    LAMP环境安装
    Axure RP 交互设计
    Axure RP 界面功能
    Axure RP 界面功能介绍
    Axure RP 第一部分
    Grub管理修改root口令
    MYSQL 部分练习题
    工作日志示例
    计算机网络的分类
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/2777687.html
Copyright © 2011-2022 走看看