• 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

     

     

     

     

  • 相关阅读:
    Now Task
    数据库的死锁及解决
    Java小对象的解决之道——对象池(Object Pool)的设计与应用
    Java中的对象池技术
    npm install时报错 npm ERR!Windows_NT 6.1.7601
    Angular 入门学习
    React 之 Hello world
    react webpack.config.js 入门学习
    React/React Native 的ES5 ES6写法对照表
    ES5和ES6中对于继承的实现方法
  • 原文地址:https://www.cnblogs.com/sishuiliuyun/p/2777687.html
Copyright © 2020-2023  润新知