android 通话记录插入 短信插入 联系人插入
16lz
2021-01-26
(一) 通话记录的插入。
呼叫记录有三种类型:
来电:CallLog.Calls.INCOMING_TYPE (常量值:1)
已拨:CallLog.Calls.OUTGOING_TYPE (常量值:2)
未接:CallLog.Calls.MISSED_TYPE (常量值:3)
插入通话记录的代码如下:
[java] view plain copy print ?- privatevoidinsertCallLog(TriggerServicetriggerService,Stringstring,Stringstring2,Stringstring3,Stringstring4,longi)
- {
- //TODOAuto-generatedmethodstub
- ContentValuesvalues=newContentValues();
- 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函数来插入一条通话记录,代码如下:
[java] view plain copy print ?- insertContacts(TriggerService.this,"兵","李","15903245566","62254959");
AndroidManifest.xml里需要添加如下权限:
- <uses-permissionandroid:name="android.permission.READ_CONTACTS"/>
- <uses-permissionandroid:name="android.permission.WRITE_CONTACTS"/>
(二) 短信收件箱插入短信。
- publicstaticUrimSmsUri=Uri.parse("content://sms/inbox");
- privatevoidinsertsms()
- {
- //TODOAuto-generatedmethodstub
- for(inti=0;i<20;i++)
- {
- ContentValuesvalues=newContentValues();
- 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里需要添加如下权限:
[java] view plain copy print ?- <uses-permissionandroid:name="android.permission.READ_SMS"/>
- <uses-permissionandroid:name="android.permission.WRITE_SMS"/>
(三) 号码薄插入联系人。
代码如下:
[java] view plain copy print ?- privatevoidinsertContacts(TriggerServicetriggerService,Stringstring,Stringstring2,Stringstring3,Stringstring4)
- {
- //TODOAuto-generatedmethodstub
- ContentValuesvalues=newContentValues();
- UrirawContactUri=getContentResolver().insert(RawContacts.CONTENT_URI,values);
- longrawContactId=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);
- }
更多相关文章
- 使用git工具获取android源代码
- 多个项目Module全局配置
- android ListView向上滑动隐藏标题,下拉显示标题栏
- 谈中型项目下的编码技巧二
- 如何让Activity以全屏方式显示
- Android(安卓)Weekly Notes Issue #251
- android 在应用中安装其他程序
- 浅析Android中的visibility属性
- android ActivityGroup认识