如何从人姓名电话号码,这是在android的我的联系人列表 [英] How to get phone number from person name which are in my contact list in android

查看:119
本文介绍了如何从人姓名电话号码,这是在android的我的联系人列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望得到电话号码的人,从他的名字这是在我的联系人列表。我用下面的code,但它不工作的罚款。告诉我在哪里,我错了。

 尝试{
        cursor_company = getContentResolver()查询(ContactsContract.Data.CONTENT_URI,
空,ContactsContract.Data.DISPLAY_NAME +=+sidharth,NULL,NULL);
              }
        赶上(例外五)
        {
        的System.out.println(这是例外+ E);
        }
         字符串PHONE_NUMBER;
         而(cursor_company.moveToNext()){
        PHONE_NUMBER = cursor_company.getString(
        cursor_company.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
    的System.out.println(这是用户不为。+ PHONE_NUMBER);
               }
        cursor_company.close();
         }
 

该异常来了,当我运行此code低于

  android.database.sqlite.SQLiteException:没有这样的列:bhawana:在编制:SELECT data_version,phonetic_name,phonetic_name_style,CONTACT_ID,查找,DATA12,DATA11,DATA10,MIMETYPE,DATA15 ,data14,data13,display_name_source,data_sync1,data_sync3,data_sync2,agg_ presence.chat_capability AS contact_chat_capability,data_sync4,ACCOUNT_TYPE,custom_ringtone,SP,status_updates.status AS状态,数据1,数据4,数据5,数据2,数据3,sns_id,DATA8 ,DATA9,group_sourceid,DATA6,帐户名,DATA7,DISPLAY_NAME,in_visible_group,display_name_alt,contacts_status_updates.status_res_package AS contact_status_res_package,is_primary,contacts_status_updates.status_ts AS contact_status_ts,raw_contact_id,times_contacted,contacts_status_updates.status AS contact_status,status_updates.status_res_package AS status_res_package,status_updates.status_icon AS status_icon,contacts_status_updates.status_i
 

解决方案

下面是:

 静态最终的String [] CONTACTS_SUMMARY_PROJECTION =新的String [] {
    ContactsContract.Contacts._ID,
    ContactsContract.Contacts.DISPLAY_NAME,
    ContactsContract.Contacts.STARRED,
    ContactsContract.Contacts.TIMES_CONTACTED,
    ContactsContract.Contacts.CONTACT_ preSENCE,
    ContactsContract.Contacts.PHOTO_ID,
    ContactsContract.Contacts.LOOKUP_KEY,
    ContactsContract.Contacts.HAS_PHONE_NUMBER,
};

字符串name_to_search =sidharth;

串选择=(+ ContactsContract.Contacts.DISPLAY_NAME +== \+ name_to_search +\);
光标C = context.getContentResolver()查询(ContactsContract.Contacts.CONTENT_URI,CONTACTS_SUMMARY_PROJECTION,选择,空,ContactsContract.Contacts.DISPLAY_NAME +分页中局部ASC)。
context.startManagingCursor(C);

如果(c.moveToNext())
{
    串的id = c.getString(0);
    ArrayList的<字符串>手机=新的ArrayList<字符串>();

    光标pCur = context.getContentResolver()查询(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,空,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +=?,新的String [] {ID},空)。
    而(pCur.moveToNext())
    {
        phones.add(pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
        Log.i(,name_to_search +具有以下电话号码+ pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
    }
    pCur.close();
}
 

I want to get phone no of the person from his name which are in my contact list. i have used the below code but it is not working fine. Tell me where i am wrong.

          try {                   
        cursor_company =getContentResolver().query(ContactsContract.Data.CONTENT_URI,
null,ContactsContract.Data.DISPLAY_NAME+ " = " + "sidharth", null, null);          
              }           
        catch(Exception e)               
        {    
        System.out.println("this is exception "+e);             
        }           
         String phone_number;           
         while (cursor_company.moveToNext()) {          
        Phone_number =cursor_company.getString(           
        cursor_company.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));             
    System.out.println(" this is user no. is"+phone_number);         
               }              
        cursor_company.close();               
         }              

The exception came when i run this code is below

android.database.sqlite.SQLiteException: no such column: bhawana: , while compiling: SELECT data_version, phonetic_name, phonetic_name_style, contact_id, lookup, data12, data11, data10, mimetype, data15, data14, data13, display_name_source, data_sync1, data_sync3, data_sync2, agg_presence.chat_capability AS contact_chat_capability, data_sync4, account_type, custom_ringtone, sp, status_updates.status AS status, data1, data4, data5, data2, data3, sns_id, data8, data9, group_sourceid, data6, account_name, data7, display_name, in_visible_group, display_name_alt, contacts_status_updates.status_res_package AS contact_status_res_package, is_primary, contacts_status_updates.status_ts AS contact_status_ts, raw_contact_id, times_contacted, contacts_status_updates.status AS contact_status, status_updates.status_res_package AS status_res_package, status_updates.status_icon AS status_icon, contacts_status_updates.status_i

解决方案

Here is it:

static final String[] CONTACTS_SUMMARY_PROJECTION = new String[] {
    ContactsContract.Contacts._ID,
    ContactsContract.Contacts.DISPLAY_NAME,
    ContactsContract.Contacts.STARRED,
    ContactsContract.Contacts.TIMES_CONTACTED,
    ContactsContract.Contacts.CONTACT_PRESENCE,
    ContactsContract.Contacts.PHOTO_ID,
    ContactsContract.Contacts.LOOKUP_KEY,
    ContactsContract.Contacts.HAS_PHONE_NUMBER,
};

String name_to_search = "sidharth";

String select = "(" + ContactsContract.Contacts.DISPLAY_NAME + " == \"" +name_to_search+ "\" )";
Cursor c = context.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, CONTACTS_SUMMARY_PROJECTION, select, null, ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC");
context.startManagingCursor(c);

if (c.moveToNext())
{
    String id = c.getString(0);
    ArrayList<String> phones = new ArrayList<String>();

    Cursor pCur = context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", new String[]{id}, null);
    while (pCur.moveToNext())
    {
        phones.add(pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
        Log.i("", name_to_search+ " has the following phone number "+ pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
    } 
    pCur.close();   
}

这篇关于如何从人姓名电话号码,这是在android的我的联系人列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆