操作手机联系人

来源:互联网 发布:数据恢复大师破解版 编辑:程序博客网 时间: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
原创粉丝点击