2010-05-24 68 views
2

我是Android新手,一直在研究需要获取用户联系人所有电话号码的应用。很明显,我的代码不支持2.1 SDK。到目前为止,这里是我使用的代码:Android 2.1如何获得联系电话号码

String[] projection = new String[] { Phone.NUMBER }; 
Cursor c = managedQuery(Phone.CONTENT_URI, projection, null, null, null); 
int colIndex = -1; 
try { 
    colIndex = c.getColumnIndexOrThrow(Phone.NUMBER); 
} catch(Exception e) { 
    print(e.getMessage()); 
} 

print("Column Index = " + colIndex); 

//count is equal to 3 
for(int i = 0; i < count; i++){ 
    try { 
     print(c.getString(2)); //the 2 used to be colIndex 
    } catch (Exception e) { 
     print(e.getMessage()); 
    } 
} 

看来,不管我进入c.getString()它不断告诉我,我在-1过去了。但我甚至硬编码了这两个,它也说了同样的事情。任何帮助将非常感激。

+0

这里是一个[链接](http://saigeethamn.blogspot.in/2011/05/contacts-api-20-and-above-android.html)或者试试[这个。](http:// android2011dev.blogspot.in/2011/08/get-android-phone-call-historylog.html)认为它会帮助你。 – DroidBee 2012-03-06 10:26:13

回答

2

为了您的具体问题,看到在这个问题上接受的答案:

Read all contact's phone numbers in android

+0

好的,谢谢你的参考。我会看看并告诉你它是如何发生的。 – 2010-05-25 01:26:38

+0

嘿Sebi,那个人的问题的答案没有帮助。答案和问题都使用了2.1之前的弃用API。 你能指出我应该发送到Cursor.getColumnIndex(...)吗? – 2010-05-25 02:39:55

+0

嗨布兰登,我想你应该使用ContactsContract.PhoneLookup.DISPLAY_NAME或ContactsContract.CommonDataKinds.Phone。*请参考http://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Phone.html – Vamsi 2010-05-25 12:03:02

相关问题