2012-11-27 135 views
0

我目前得到只读Android通讯录,下面是我使用的代码:Android如何阅读android联系人和SIM联系人?

String[] projecao = new String[] { Contacts._ID, 
    Contacts.LOOKUP_KEY, Contacts.DISPLAY_NAME }; 
String selecao = Contacts.HAS_PHONE_NUMBER + " = 1"; 
Cursor contatos = contexto.getContentResolver().query(
    ContactsContract.Contacts.CONTENT_URI, projecao, selecao, null, null); 

并获得电话号码:

Cursor phones = contexto.getContentResolver().query(
       Phone.CONTENT_URI, 
       new String[] { Phone.NUMBER }, 
       Phone.CONTACT_ID + " = ?", 
       new String[] { contatos.getString(contatos 
         .getColumnIndex(Contacts._ID)) }, null); 

我希望保持与所有联系人的数据库数字。

我该怎么办才能获取SIM卡联系人呢?

谢谢你的时间。

回答

1

为了让手机通讯录,你可以访问这个link

和SIM卡联系人单击here

+0

谢谢你工作! = D – weldsonandrade

+0

我正在获取sim联系人号码,同时name正在返回null – Umer

0

您正在阅读的联系人来自Contacts Provider,它是Android平台的一部分。它们不是只读的,尽管在尝试更改它们之前应该阅读文档。

SIM卡联系人完全不同。它们分别存储在SIM卡本身上,您可能必须使用手机制造商或服务提供商提供的应用程序才能访问它们。他们与Google通讯录无关。我建议不要对他们做任何事情。

+0

所以不必读取所有联系人(Android和SIM卡),有数字的一种方式?我只想读。 – weldsonandrade