Android 如果没有课堂活动的扩展,如何获取电子邮件id';从contacts获取s并从contacts获取电话号码?

Android 如果没有课堂活动的扩展,如何获取电子邮件id';从contacts获取s并从contacts获取电话号码?,android,Android,大家好,如何实现从联系人处获取电子邮件id和从联系人处获取电话号码的编码告诉我克服此问题的方法 注意:类没有extends活动和oncreate()方法,所以请帮助我继续看看这段代码 btn_existing_contacts.setOnClickListener(new OnClickListener() { public void onClick(View v){ Intent intent_contacts = new Intent(Intent.A

大家好,如何实现从联系人处获取电子邮件id和从联系人处获取电话号码的编码告诉我克服此问题的方法
注意:类没有extends活动和oncreate()方法,所以请帮助我继续

看看这段代码

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

        }
    }

}



}
}
@覆盖
受保护的void onActivityResult(int请求代码、int结果代码、意图数据)
{
super.onActivityResult(请求代码、结果代码、数据);
字符串名称,mailid,id;
开关(请求代码)
{
案例0:
{
if(resultCode==RESULT\u OK)
{
Uri contactdata=data.getData();
Cursor cur=managedQuery(contactdata,null,null,null,null);
if(cur.moveToFirst())
{
id=cur.getString(cur.getColumnIndex(ContactsContract.Contacts.\u id));
游标emailCur=getContentResolver().query(ContactsContract.CommonDataTypes.Email.CONTENT\u URI,null,
ContactsContract.CommonDataTypes.Email.CONTACT_ID+“=?”,新字符串[]{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.CommonDataTypes.Email.DATA));
//mailid=cur.getString(cur.getColumnIndex(ContactsContract.CommonDataTypes.Email.\u ID));
//Toast.makeText(上下文\u联系人,“姓名:+Name+”\n邮件:+email,Toast.LENGTH\u SHORT.show();
意向意向\添加\被邀请者=新意向(,.class);
意图添加被邀请者。putExtra(“被邀请者名称”,名称);
intent\u add\u invites.putExtra(“invitee\u mailid”,email);
setResult(结果确定,意图添加受邀请者);
完成();
}
}
}
}
}

Send_investments.class是我使用这些联系人的活动

您的类没有extends activity或onCreate()方法。因此,从将活动扩展到此类的类中传递上下文参数

sudo代码 在这里,B类不扩展活动。 但是将以下方法写入类别B中的gwt联系人和电子邮件id

public static void getContactNumbers(Context context) {
    String contactNumber = null;
    int contactNumberType = Phone.TYPE_MOBILE;
    String nameOfContact = null;
    ArrayList<ContactNumberBean> phoneContacts = new ArrayList<ContactNumberBean>();
        ContentResolver cr = context.getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
                null, null, null);
        if (cur.getCount() > 0) {
            while (cur.moveToNext()) {
                String id = cur.getString(cur
                        .getColumnIndex(BaseColumns._ID));
                nameOfContact = cur
                        .getString(cur
                                .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

                if (Integer
                        .parseInt(cur.getString(cur
                                .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
                    Cursor phones = cr
                            .query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                                    null,
                                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                            + " = ?", new String[] { id },
                                    null);

                    while (phones.moveToNext()) {
                        contactNumber = phones.getString(phones
                                .getColumnIndex(Phone.NUMBER));
                        contactNumberType = phones.getInt(phones
                                .getColumnIndex(Phone.TYPE));

                        phoneContacts
                                .add(new ContactNumberBean(nameOfContact,
                                        contactNumber, contactNumberType));
                    }
                    phones.close();
                }

            }
        }// end of contact name cursor
        cur.close();

}

/**
 * 
 * This method is responsible to get native contacts and corresponding email
 * id (ApplicationConstants.emailContacts)
 * 
 * @param context
 */
public static void getContactEmails(Context context) {
    String emailIdOfContact = null;
    int emailType = Email.TYPE_WORK;
    String contactName = null;
    ArrayList<ContactEmailBean> emailContacts = new ArrayList<ContactEmailBean>();



        ContentResolver cr = context.getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
                null, null, null);
        if (cur.getCount() > 0) {
            while (cur.moveToNext()) {
                String id = cur.getString(cur
                        .getColumnIndex(BaseColumns._ID));
                contactName = cur
                        .getString(cur
                                .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
                // Log.i(TAG,"....contact name....." +
                // contactName);

                cr.query(
                        ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                        null,
                        ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                + " = ?", new String[] { id }, null);

                Cursor emails = cr.query(Email.CONTENT_URI, null,
                        Email.CONTACT_ID + " = " + id, null, null);
                while (emails.moveToNext()) {
                    emailIdOfContact = emails.getString(emails
                            .getColumnIndex(Email.DATA));
                    // Log.i(TAG,"...COntact Name ...."
                    // + contactName + "...contact Number..."
                    // + emailIdOfContact);
                    emailType = emails.getInt(emails
                            .getColumnIndex(Phone.TYPE));
                    emailContacts
                            .add(new ContactEmailBean(contactName,
                                    emailIdOfContact, emailType));

                }
                emails.close();

            }
        }// end of contact name cursor
        cur.close();


}
联系人号码Bean
当您将从活动创建该类的对象时,请将此作为参数传递给类如何实现ApplicationConstants.phoneContacts.add(新ContactNumberBean(ContactName of Contact,contactNumber,contactNumberType))请给我解决此问题的方法Hi deepak我正在添加评论请编辑您的答案/如何实现ApplicationConstants和ContactEmailBean…这就是这里的问题。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。添加(新的ContactEmailBean(contactName,emailIdOfContact,emailType));嗨,迪帕克,请提出一些建议,我在更多的日子里感到震惊谢谢拉克斯曼,我已经编辑了我的答案。现在看看,它会对你有用的。昨天我离开办公室,这就是为什么我不能给你答案Hi deepak这个两个bean类还可以如何检索classA活动类中的联系人总数公共类通讯簿扩展活动{@Override public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);ContactList1.getContactEmails(此);ContactList1.GetContactNumber(此);}
public static void getContactNumbers(Context context) {
    String contactNumber = null;
    int contactNumberType = Phone.TYPE_MOBILE;
    String nameOfContact = null;
    ArrayList<ContactNumberBean> phoneContacts = new ArrayList<ContactNumberBean>();
        ContentResolver cr = context.getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
                null, null, null);
        if (cur.getCount() > 0) {
            while (cur.moveToNext()) {
                String id = cur.getString(cur
                        .getColumnIndex(BaseColumns._ID));
                nameOfContact = cur
                        .getString(cur
                                .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

                if (Integer
                        .parseInt(cur.getString(cur
                                .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
                    Cursor phones = cr
                            .query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                                    null,
                                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                            + " = ?", new String[] { id },
                                    null);

                    while (phones.moveToNext()) {
                        contactNumber = phones.getString(phones
                                .getColumnIndex(Phone.NUMBER));
                        contactNumberType = phones.getInt(phones
                                .getColumnIndex(Phone.TYPE));

                        phoneContacts
                                .add(new ContactNumberBean(nameOfContact,
                                        contactNumber, contactNumberType));
                    }
                    phones.close();
                }

            }
        }// end of contact name cursor
        cur.close();

}

/**
 * 
 * This method is responsible to get native contacts and corresponding email
 * id (ApplicationConstants.emailContacts)
 * 
 * @param context
 */
public static void getContactEmails(Context context) {
    String emailIdOfContact = null;
    int emailType = Email.TYPE_WORK;
    String contactName = null;
    ArrayList<ContactEmailBean> emailContacts = new ArrayList<ContactEmailBean>();



        ContentResolver cr = context.getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
                null, null, null);
        if (cur.getCount() > 0) {
            while (cur.moveToNext()) {
                String id = cur.getString(cur
                        .getColumnIndex(BaseColumns._ID));
                contactName = cur
                        .getString(cur
                                .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
                // Log.i(TAG,"....contact name....." +
                // contactName);

                cr.query(
                        ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                        null,
                        ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                + " = ?", new String[] { id }, null);

                Cursor emails = cr.query(Email.CONTENT_URI, null,
                        Email.CONTACT_ID + " = " + id, null, null);
                while (emails.moveToNext()) {
                    emailIdOfContact = emails.getString(emails
                            .getColumnIndex(Email.DATA));
                    // Log.i(TAG,"...COntact Name ...."
                    // + contactName + "...contact Number..."
                    // + emailIdOfContact);
                    emailType = emails.getInt(emails
                            .getColumnIndex(Phone.TYPE));
                    emailContacts
                            .add(new ContactEmailBean(contactName,
                                    emailIdOfContact, emailType));

                }
                emails.close();

            }
        }// end of contact name cursor
        cur.close();


}
public class ContactEmailBean {
        String emailType = null;
        String nameOfContact = null;

        String emailIdOfContact = null;

        public ContactEmailBean(String nameOfContact, String emailIdOfContact,
                int emailType) {
            switch (emailType) {
            case Email.TYPE_HOME:
                this.emailType = "HOME";
                // do something with the Home number here...
                break;
            case Email.TYPE_MOBILE:
                this.emailType = "MOBILE";
                // do something with the Mobile number here...
                break;
            case Email.TYPE_WORK:
                this.emailType = "WORK";
                // do something with the Work number here...
                break;

            default:
                this.emailType = "OTHER";
                break;
            }
            this.nameOfContact = nameOfContact;
            this.emailIdOfContact = emailIdOfContact;

        }

        public String getNameOfContact() {
            return this.nameOfContact;
        }

        public String getEmailType() {
            return this.emailType;
        }

        public String getEmailIdOfContact() {
            return this.emailIdOfContact;
        }
    }
public class ContactNumberBean {
        String phoneNumberType = null;
        String nameOfContact = null;
        String contactNumber = null;

        public ContactNumberBean(String nameOfContact, String contactNumber,
                int contactNumberType) {
            switch (contactNumberType) {
            case Phone.TYPE_HOME:
                this.phoneNumberType = "HOME";
                // do something with the Home number here...
                break;
            case Phone.TYPE_MOBILE:
                this.phoneNumberType = "MOBILE";
                // do something with the Mobile number here...
                break;
            case Phone.TYPE_WORK:
                this.phoneNumberType = "WORK";
                // do something with the Work number here...
                break;
            case Phone.TYPE_WORK_MOBILE:
                this.phoneNumberType = "WORK";
                break;

            case Phone.TYPE_FAX_HOME:
                this.phoneNumberType = "FAX";
                break;
            default:
                this.phoneNumberType = "OTHER";
                break;
            }
            this.nameOfContact = nameOfContact;
            this.contactNumber = contactNumber;

        }

        public String getNameOfContact() {
            return this.nameOfContact;
        }

        public String getPhoneNumberType() {
            return this.phoneNumberType;
        }

        public String getContactNumber() {
            return this.contactNumber;
        }

}