操作手机联系人
来源:互联网 发布:数据恢复大师破解版 编辑:程序博客网 时间:2024/06/06 08:38
/** * * 1.找到联系人的内容提供者:com.android.contacts * * 2.添加权限 * * * 3.表的结构和关心的字段 * * 表一:raw_contacts contact_id 表二:data data1 raw_contact_id mimetype_id * 表三:mimetypes 1 vnd.android.cursor.item/email_v2 7 * vnd.android.cursor.item/name 3 vnd.android.cursor.item/nickname 5 * vnd.android.cursor.item/phone_v2 8 vnd.android.cursor.item/postal-address_v2 * * 步骤: 查找 raw_contacts,用户的id * */public class MainActivity extends Activity { private ContentResolver resolver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取内容解析器对象 resolver = getContentResolver(); } /** * 查找联系人 * * @param v */ public void onGetContactsClick(View v) { // 步骤一:查询表raw_contacts中的contact_id(用户id) Cursor cursor = resolver.query( Uri.parse("content://com.android.contacts/raw_contacts"), new String[] { "contact_id" }, "contact_id not null", null, null); while (cursor.moveToNext()) { int id = cursor.getInt(0); // Log.i("myTag","id:"+id); // 步骤二:根据查询用户id查询用户的详细信息(用户的详细数据,数据的类型) Cursor cursor2 = resolver.query( Uri.parse("content://com.android.contacts/data"), new String[] { "data1", "mimetype" }, "raw_contact_id=?", new String[] { id + "" }, null); StringBuffer sb = new StringBuffer(); while (cursor2.moveToNext()) { String data = cursor2.getString(0); String type = cursor2.getString(1); // Log.i("myTag", "data: " + data);0 // Log.i("myTag", "type: " + type); if (type.equals("vnd.android.cursor.item/email_v2")) {// 邮箱 sb.append("邮箱:" + data + "\r\n"); } else if (type.equals("vnd.android.cursor.item/name")) {// 姓名 sb.append("姓名:" + data + "\r\n"); } else if (type.equals("vnd.android.cursor.item/nickname")) {// 昵称 sb.append("昵称:" + data + "\r\n"); } else if (type.equals("vnd.android.cursor.item/phone_v2")) {// 电话 sb.append("电话:" + data + "\r\n"); } else if (type .equals("vnd.android.cursor.item/postal-address_v2")) {// 地址 sb.append("地址:" + data + "\r\n"); } } Log.i("myTag", sb.toString()); } } /** * 向通讯录中添加一个用户 * @param v */ public void onInsertContactClick(View v) { /** * 查询当前联系人的总个数,获取当前加入的用户的id的值: 总个数+1 * */ int contact_id = resolver.query(Uri.parse("content://com.android.contacts/raw_contacts"), null, null, null, null).getCount()+1; /** * 向表raw_contacts插入id */ ContentValues values = new ContentValues(); values.put("contact_id", contact_id); resolver.insert(Uri.parse("content://com.android.contacts/raw_contacts"), values); /** * 向表data中插入数据 * email */ values.clear(); values.put("raw_contact_id", contact_id); values.put("mimetype", "vnd.android.cursor.item/email_v2"); values.put("data1", "666@bttiantang.com"); //向数据库中插入email resolver.insert(Uri.parse("content://com.android.contacts/data"),values); values.clear(); values.put("raw_contact_id", contact_id); values.put("mimetype", "vnd.android.cursor.item/name"); values.put("data1", "张松"); resolver.insert(Uri.parse("content://com.android.contacts/data"),values); values.clear(); values.put("raw_contact_id", contact_id); values.put("mimetype", "vnd.android.cursor.item/nickname"); values.put("data1", "相亲小王子"); resolver.insert(Uri.parse("content://com.android.contacts/data"),values); values.clear(); values.put("raw_contact_id", contact_id); values.put("mimetype", "vnd.android.cursor.item/phone_v2"); values.put("data1", "16666666666"); resolver.insert(Uri.parse("content://com.android.contacts/data"),values); values.clear(); values.put("raw_contact_id", contact_id); values.put("mimetype", "vnd.android.cursor.item/postal-address_v2"); values.put("data1", "昌平区 "); resolver.insert(Uri.parse("content://com.android.contacts/data"),values); }}
0 0
- 手机联系人相关操作
- 操作手机联系人
- iOS手机联系人相关操作
- Android 获取手机的联系人进行操作
- 使用ContentResolver操作手机系统联系人
- 对手机联系人的一些操作
- 手机联系人
- 手机联系人的相关操作,删除,插入,更新
- 联系人操作
- 操作联系人
- 联系人操作
- 访问手机联系人
- 手机联系人URI
- 获取手机联系人
- Android获取手机联系人
- 手机联系人添加、查看
- 获取手机联系人
- 分页读取手机联系人
- JSON的笔记
- sed增加,删除,替换命令
- 仿新浪微博加#话题的EditText实现
- spingboot jpa String 映射mysql为 LongText类型
- 算法15:打印中两个整数范围内的所有素数,例如:(12, 15) ->13
- 操作手机联系人
- QT修改qss文件后导致样式表不生效
- 面试被虐系列_算法分析篇_二叉树
- zookeeper小例子
- The Process of Submitting a Job
- 反向传导算法
- JAVA中的null
- 微服务技能树
- java中的synchronized(同步代码块和同步方法的区别)