内容提供者——查询联系人

来源:互联网 发布:网络写手平台 编辑:程序博客网 时间:2024/05/16 04:49

(1)MainActivity

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    List<Contact> queryContacts = QueryContactsUtils.queryContacts(getApplicationContext());
        for (Contact contact:queryContacts) {
            System.out.println("contact"+contact);
        }
    }
}

(2)Contact

public class Contact {
    private String id;
    private String name;
    private String phone;
    private String email;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    
    @Override
    public String toString() {
    
        return "Contact [id="+id+",name="+name+",phone="+phone+",email="+email+"]";
    }
}


(3)QueryContactsUtils

public class QueryContactsUtils {

    public static List<Contact> queryContacts(Context context){
        List<Contact> contactLists = new ArrayList<Contact>();
        Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
        Uri dataUri = Uri.parse("content://com.android.contacts/data");
        Cursor cursor = context.getContentResolver().query(uri, new String[]{"contact_id"}, null, null, null);
        while (cursor.moveToNext()) {
            String contact_id  = cursor.getString(0);
            if (contact_id!=null) {
                //创建javabean对象
                Contact contact = new Contact();
                contact.setId(contact_id);
                System.out.println("contact_id:"+contact_id);
                Cursor dataCursor = context.getContentResolver().query(dataUri, new String[]{"data1","mimetype"}, "raw_contact_id=?", new String[]{contact_id}, null);
                while (dataCursor.moveToNext()) {
                    String data1 = dataCursor.getString(0);
                    String mimetype = dataCursor.getString(1);
                    
                    if ("vnd.android.cursor.item/name".equals(mimetype)) {
                        contact.setName(data1);
                    }else if ("vnd.android.cursor.item/phone_v2".equals(mimetype)) {
                        contact.setPhone(data1);
                    }else if ("vnd.android.cursor.item/email_v2".equals(mimetype)) {
                        contact.setEmail(data1);
                    }
                    
                }
                contactLists.add(contact);
            }
        }
        
        return contactLists;
        
    }
}

(4)配置文件

添加联系人读取权限

<uses-permission android:name="android.permission.READ_CONTACTS"/>

阅读全文
0 0
原创粉丝点击