如何从Android的电话号码获取来电者的姓名

如何从Android的电话号码获取来电者的姓名

问题描述:

我正在使用Android,我想知道如何找出电话号码的联系人姓名。如何从Android的电话号码获取来电者的姓名

BroadcastReceiver我有这样的:

String phonenr=intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 

我需要的联系人姓名(全名 - 姓+ familyname,如果有),这个电话号码。

Thx!

你可以试试这个link

Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); 
    resolver.query(uri, new String[]{PhoneLookup.DISPLAY_NAME} .....) 

下面使用功能是这样的:

Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode("your receive phone number")); 
    Cursor phones = getContentResolver().query(uri, new String[]{PhoneLookup.DISPLAY_NAME},null,null,null); 
     while (phones.moveToNext()) 
     { 
      //it returns contact name 
      String name=phones.getString(phones.getColumnIndex(PhoneLookup.DISPLAY_NAME)); 
     } 
+0

和phoneNumber的是在我的情况phonenr?联系人名称保留在哪里? – user1165435 2012-04-23 11:56:10

+0

现在我正在更新答案...!尝试这个..! – Dinesh 2012-04-23 12:09:30

检查了这一点Retrieving Contact Information

//query for the people in your address book 
    Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null,People.NAME + " ASC"); 
    startManagingCursor(cursor); 

    //bind the name and the number fields 
    String[] columns = new String[] { People.NAME, People.NUMBER }; 
    int[] to = new int[] { R.id.name_entry, R.id.number_entry }; 
    SimpleContactAdapter mAdapter = new SimpleContactAdapter(this, R.layout.list_entry, cursor, columns, to); 
    this.setListAdapter(mAdapter); 
+0

我不想绑定任何东西。我只想使用Toast消息打印基于电话号码的联系人姓名。你能否根据我的需要更新你的代码? – user1165435 2012-04-23 12:09:44