【问题标题】:Need help for accessing system built in contacts in android需要帮助以访问 android 中的内置联系人系统
【发布时间】:2011-09-15 10:41:17
【问题描述】:

我是 android 新手。我想使用 android 提供的内置联系人管理工具的系统。我进行了很多搜索,但无法确切知道如何进行。所以请帮助我了解如何操作从代码(而不是从 GUI)添加联系人,如何在我的应用程序中访问它们(只需在 textview 中显示所有记录)。 是否可以在不使用 SQLite 或文件操作的情况下做到这一点(意味着只是在系统内存中读写)???

提前谢谢...

【问题讨论】:

    标签: android android-layout android-contacts android-contentprovider


    【解决方案1】:

    看看这段代码!

    btn_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();
    
    
            }
         });
    

    从联系人屏幕返回后,

    @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();
                Intent intent_add_invitees = new Intent(<ClassContext>,<ur classname>.class);
                intent_add_invitees.putExtra("invitee_name", name);
                intent_add_invitees.putExtra("invitee_mailid", email);
                setResult(RESULT_OK, intent_add_invitees);
                finish();
    
            }
        }
    
    }
    
    
    
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多