ContentResolver获取系统短消息联系人等
来源:互联网 发布:java 国际化 编辑:程序博客网 时间:2024/05/16 15:41
读短消息
ContentResolver resolver = getContentResolver();// content://sms 短信箱// content://sms/inbox 收件箱// content://sms/sent 发件箱// content://sms/draft 草稿箱Uri uri = Uri.parse("content://sms/draft");Cursor c = resolver.query(uri,null,null,null,null);//解析Cursor//遍历Cursorwhile(c.moveToNext()){ //对象,内容 //参数:列索引 //c.getString(2); //遍历该行的列 String msg = ""; String address = c.getString(c.getColumnIndex("address")); String body = c.getString(c.getColumnIndex("body")); msg = address + ":" + body; /*此循环在调试时候可以查看列都是什么数据 for(int i = 0 ; i < c.getColumnCount() ; i++){ msg += c.getString(i) + " "; } */ Log.e("TAG",msg);}
读联系人
ContentResolver resolver = getContentResolver();//对于联系人而言,他们的存储方式是将姓名和其他内容(电话号码)由不同点contentProvider操作的//首先想象姓名和其他内容属于不同的表//而姓名所在的表是主表,其他内容位于从表//而主表中的主键会在从表中作为外键使用Cursor c1 = resolver.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null); while(c1.moveToNext()){//ContactsContract.Contacts.DISPLAY_NAME 姓名//ContactsContract.Contacts._ID 主键 String name = c1.getString(c1.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); String _id = c1.getString(c1.getColumnIndex(ContactsContract.Contacts._ID )); Log.e("TAG","姓名是:" + name +" , id是" + _id); String selections = ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?"; Cursor c2 = resolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, selections, new String[]{_id}, null); while(c2.moveToNext()){ String number = c2.getString(c2.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); name += " " + number;} Log.e("TAG" , name); /* String msg = ""; for(int i = 0 ; i < c1.getColumnCount() ; i++){ msg += c1.getString(i) + " "; } Log.e("TAG",msg); */ }
添加联系人
ContentResolver resolver = getContentResolver(); //1.往一个ContentProvider中插入一条空数据,获取新生成的id //2.利用刚刚生成的id分别组合姓名和电话号码往另一个ContentProvider中插入数据 ContentValues values = new ContentValues(); Uri uri = resolver.insert(ContactsContract.RawContacts.CONTENT_URI,values); long id = ContentUris.parseId(uri); //插入姓名 values.put(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME,"Tommy"); values.put(ContactsContract.Data.RAW_CONTACT_ID,id); //指定该行数据的类型就是provider的getType方法 values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE); resolver.insert(ContactsContract.Data.CONTENT_URI,values); //插入电话号码 //清空ContentValues对象 values.clear(); //指定电话号码列的内容 values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, "000000000"); //指定和电话号码关联的编号列的内容 values.put(ContactsContract.Data.RAW_CONTACT_ID,id); //指定该行数据的类型 values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE); //指定联系方式的类型手提电话和家庭电话的区别 values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE); resolver.insert(ContactsContract.Data.CONTENT_URI,values);
阅读全文
0 0
- ContentResolver获取系统短消息联系人等
- ContentResolver获取手机联系人
- ContentResolver(获取系统联系人)<手动展示;调用系统界面>
- 使用ContentResolver获取联系人信息
- Android ContentResolver 获取手机联系人
- Android ContentResolver 获取手机联系人
- Android ContentResolver 获取手机联系人
- ContentResolver读取系统联系人数据
- ios 获取系统联系人 qq 微博 等
- 通过ContentResolver获取手机中的联系人信息
- Android ContentResolver ContactsContract 获取手机联系人信息
- 使用ContentResolver操作手机系统联系人
- Android ContentResolver读取手机系统数据<联系人>
- ContentResolver实现获取手机联系人并显示在ListView中
- 利用ContentResolver内容访问者获取手机联系人信息
- 通过ContentResolver调用系统URI实现的读取联系人信息
- 获取系统联系人信息
- 获取系统联系人信息
- VMWare中的CPU数量与核心数量意义
- 方差
- spring定时任务的用法
- 临界区、互斥量、信号量、事件
- iOS 之Assertion failure in -[AFStreamingMultipartFormData appendPartWithHeaders:body:]
- ContentResolver获取系统短消息联系人等
- Web实验项目,网上银行系统
- 根据AQS推测CountDownLatch及源码分析
- Undo Segment Corruption and Recovery
- 101. Symmetric Tree
- 3D游戏中的网络层设计
- Jquery使用AJAX请求跨域解决方法
- bzoj 4917: Hash Killer IV 模拟
- C++入门基础知识