如何从android中的模拟器中将选定的联系人放入数组中

时间:2011-05-25 09:58:15

标签: android

hai all .....             我将所有模拟器联系人都放到我的appliaction.I想要选择一些联系人并放入一个数组...任何人都可以给我看代码...请帮帮我

1 个答案:

答案 0 :(得分:0)

试试这样 试试这样, 在onCreate中,

Button existing_contacts = (Button)findViewById(R.id.btn_contact_existing);

existing_contacts.setOnClickListener(new OnClickListener() {
                public void onClick(View v){
                    Intent intent_contacts = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
                    /*contacts.setAction(android.content.Intent.ACTION_VIEW);
                    contacts.setData(People.CONTENT_URI);*/
                    startActivityForResult(intent_contacts, 0);
                    //displayContacts();


                }
             });

和 在onCreate之后,

@Override
protected void onActivityResult(int requestCode, int resultCode,Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
    String name,mailid,id;
    switch(requestCode)
    {
    case 0:
        {
            if(resultCode == RESULT_OK )
            {
                Uri contactdata  = data.getData();

                Cursor cur = managedQuery(contactdata, null, null, null, null);


                if(cur.moveToFirst())
                {
                    id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
                    Cursor emailCur = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null,
                            ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?",new String[]{id}, null); 
                    emailCur.moveToFirst();
                    String email = emailCur.getString(emailCur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));


                    name = cur.getString(cur.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
                    //mailid = cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
                    mailid = cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Email._ID));
                    //Toast.makeText(context_contact, "Name:"+name+"\nmailid:"+email, Toast.LENGTH_SHORT).show();
//your code to put data in arraylist                        
/*Intent intent_add_invitees = new Intent(<ClassContext>,<ActivityName>.class);
                    intent_add_invitees.putExtra("invitee_name", name);
                    intent_add_invitees.putExtra("invitee_mailid", email);
                    setResult(RESULT_OK, intent_add_invitees);
                    finish();*/

                }
            }

        }



    }
}