2011-04-30 143 views
2

我目前使用旧的联系人API(在Android 2.0上已弃用),我想知道是否是一种方式来获取所有联系人用他们的电话号码,而不是像我在我发现的几个网站中建议的那样为每个联系人单独查询。什么是有效的方式来获取联系人的所有联系人姓名和电话号码API

例如在旧的API,我可以做这样的事情:

String[] projection = new String[] { Phones._ID, Phones.NAME, 
      Phones.NUMBER }; 

    Uri contacts = Phones.CONTENT_URI; 

    Cursor managedCursor = managedQuery(contacts, 
      projection, // Which columns to return 
      null, // Which rows to return (all rows) 
      null, // Selection arguments (none) 
      // Put the results in ascending order by name 
      Phones.NAME + " ASC"); 

感谢。

+0

你能告诉我是什么你的意思是旧API,我的意思是在[androidDev](http://developer.android.com/resources/articles/contacts.html)中说的版本 – 2011-04-30 10:19:10

+0

,有一个新的联系人API从Android 2.0开始。 – Alex 2011-04-30 10:57:27

回答

4

我发现我一直在寻找,并使用新的API是更简单,这里是他们的名字和电话号码查询所有联系人的新方法:

Cursor managedCursor = getContentResolver() 
    .query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
    new String[] {Phone._ID, Phone.DISPLAY_NAME, Phone.NUMBER}, null, null, Phone.DISPLAY_NAME + " ASC"); 
+0

我还需要获得first_name和last_name。我可以通过单个查询获得这些电话号码吗?这里是我的问题链接:[link](http://stackoverflow.com/q/19569896/2563740) – Susomrof 2013-11-06 06:12:21

相关问题