如何挑选到我的应用程序从电话簿的Andr​​oid的联系方式吗?我的、电话簿、应用程序、联系方式

2023-09-06 17:21:40 作者:只钟情你一人

所有 我想利用人数从机器人的电话簿在我的应用程序数据库.. 我曾尝试用以下code,但在这里我得到的人名,而不是我想要的号码从电话簿中,并希望将其存储在我的database..how实现这一????任何一个可以指导我..

  @覆盖
    公共无效onActivityResult(INT REQ code,INT结果code,意图数据){
        super.onActivityResult(REQ code,因此code,数据);

        开关(REQ code){
           案例(PICK_CONTACT):
             如果(结果code == Activity.RESULT_OK){
                 乌里联系数据= data.getData();
                 光标C = managedQuery(联络人资料,NULL,NULL,NULL,NULL);

                 如果(c.moveToFirst()){
                     //其他的数据可用于联系。我已决定
                     //只拿到的联系人的名字。
                     字符串名称= c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.CONTENT_TYPE));
                     Toast.makeText(getApplicationContext(),姓名,Toast.LENGTH_SHORT).show();
                 }
             }
        }
 

在此先感谢 -

解决方案

试试这个code,

  @覆盖
   公共无效onActivityResult(INT REQ code,INT结果code,意图
  数据){
    super.onActivityResult(REQ code,因此code,数据);

    开关(REQ code){
       案例(PICK_CONTACT):
         如果(结果code == Activity.RESULT_OK)
         {
             乌里联系数据= data.getData();
             光标C = managedQuery(联络人资料,NULL,NULL,NULL,NULL);
          如果(c.moveToFirst()){
          字符串ID =
            c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts._ID));

          字符串hasPhone =
          c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));

          如果(hasPhone.equalsIgnoreCase(1)){
         光标手机= getContentResolver()查询(
                      ContactsContract.CommonDataKinds.Phone.CONTENT_URI,空,
                      ContactsContract.CommonDataKinds.Phone.CONTACT_ID +=+的id,
                      NULL,NULL);
            phones.moveToFirst();
            串cNumber = phones.getString(phones.getColumnIndex(数据1));
          }
            }
         }
    }
 

all i want to take number from phonebook of android in my application database.. i have tried it with below code but here am getting name of person instead i want number from phonebook and want to store it in my database..how to achieve this????can any one guide me..

@Override
    public void onActivityResult(int reqCode, int resultCode, Intent data){
        super.onActivityResult(reqCode, resultCode, data);

        switch(reqCode){
           case (PICK_CONTACT):
             if (resultCode == Activity.RESULT_OK){
                 Uri contactData = data.getData();
                 Cursor c = managedQuery(contactData, null, null, null, null);

                 if (c.moveToFirst()){
                     // other data is available for the Contact.  I have decided
                     //    to only get the name of the Contact.
                     String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.CONTENT_TYPE));
                     Toast.makeText(getApplicationContext(), name, Toast.LENGTH_SHORT).show();
                 }
             }
        }

Thanks in Advance--

解决方案

try this code,

   @Override
   public void onActivityResult(int reqCode, int resultCode, Intent
  data){
    super.onActivityResult(reqCode, resultCode, data);

    switch(reqCode){
       case (PICK_CONTACT):
         if (resultCode == Activity.RESULT_OK)
         {
             Uri contactData = data.getData();
             Cursor c = managedQuery(contactData, null, null, null, null);
          if (c.moveToFirst()) {
          String id =   
            c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts._ID));

          String hasPhone =
          c.getString(c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));

          if (hasPhone.equalsIgnoreCase("1")) {
         Cursor phones = getContentResolver().query( 
                      ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null, 
                      ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ id, 
                      null, null);
            phones.moveToFirst();
            String cNumber = phones.getString(phones.getColumnIndex("data1"));
          }
            }
         }
    }