Android 1.5 SDK 读取联系人
2012-02-23 12:58
246 查看
Android 通讯录上的信息,存储在两个地方,一个是SIM卡,一个是手机本地, 这个大家首先要明确。我们读取联系人就要读取两个地方,因为我一直都在用2.2的SDK开发,所以这个关于1.5的是在网上找的,还不错,就拿过来给大家看看。因为现在好像是在公司开发还是以尽量兼容1.6的SDK为主,并没有达到兼容2.2SDK这么高呢。可能有的朋友会用到。
ContactsContract.Contacts.CONTENT_URI是2.1下的Contacts表查询Uri;1.5的应该是Contacts.People.CONTENT_URI
首先是手机本地:
下面是获取SIM卡:
//从SIM卡中取号
以上是将获取到的信息对象方法ArrayList<ContactInfo> contactList里面,然后砸显示的是采用适配器,这样就完成了
在写的时候,一定要注意获取的方式。
ContactsContract.Contacts.CONTENT_URI是2.1下的Contacts表查询Uri;1.5的应该是Contacts.People.CONTENT_URI
首先是手机本地:
下面是获取SIM卡:
Cursor cursor = getContentResolver().query(People.CONTENT_URI, null, null, null, null); while (cursor.moveToNext()) { ContactInfo cci = new ContactInfo(); //取得联系人名字 int nameFieldColumnIndex = cursor.getColumnIndex(People.NAME); cci.contactName = cursor.getString(nameFieldColumnIndex); //取得电话号码 int numberFieldColumnIndex = cursor.getColumnIndex(People.NUMBER); cci.userNumber = cursor.getString(numberFieldColumnIndex); cci.userNumber = GetNumber(cci.userNumber); cci.isChecked = false; if (IsUserNumber(cci.userNumber)) { if (!IsContain(contactList, cci.userNumber)) { if(IsAlreadyCheck(wNumStr, cci.userNumber)){ cci.isChecked = true; numberStr += "," + cci.userNumber; } contactList.add(cci); //Log.i("eoe", "*********"+cci.userNumber); } } } cursor.close(); }
//从SIM卡中取号
private void GetSimContact(String add){ //读取SIM卡手机号,有两种可能:content://icc/adn与content://sim/adn try { Intent intent = new Intent(); intent.setData(Uri.parse(add)); Uri uri = intent.getData(); mCursor = getContentResolver().query(uri, null, null, null, null); if (mCursor != null) { while (mCursor.moveToNext()) { ContactInfo sci = new ContactInfo(); // 取得联系人名字 int nameFieldColumnIndex = mCursor.getColumnIndex("name"); sci.contactName = mCursor.getString(nameFieldColumnIndex); // 取得电话号码 int numberFieldColumnIndex = mCursor .getColumnIndex("number"); sci.userNumber = mCursor.getString(numberFieldColumnIndex); sci.userNumber = GetNumber(sci.userNumber); sci.isChecked = false; if (IsUserNumber(sci.userNumber)) { if (!IsContain(contactList, sci.userNumber)) { if(IsAlreadyCheck(wNumStr, sci.userNumber)){ sci.isChecked = true; numberStr += "," + sci.userNumber; } contactList.add(sci); //Log.i("eoe", "*********"+sci.userNumber); } } } mCursor.close(); } } catch (Exception e) { Log.i("eoe", e.toString()); } }
以上是将获取到的信息对象方法ArrayList<ContactInfo> contactList里面,然后砸显示的是采用适配器,这样就完成了
在写的时候,一定要注意获取的方式。
相关文章推荐
- Android 1.5 SDK 读取联系人[获取手机通讯录信息(SDK1.5)]
- Android 1.5原生软件开发SDK公布
- Android 2.0读取所有联系人姓名与电话
- Android读取联系人的姓名及号码
- Android笔记--读取手机通讯录获取联系人信息
- Android2.0 如何设置和读取联系人的分组的说明
- android读取联系人信息(学习版)
- Android内容提供器简单实例(读取系统联系人)
- Android编程实现读取手机联系人、拨号、发送短信及长按菜单操作方法实例小结
- Android ContentResolver 使用例子,读取联系人
- Android读取短信和联系人
- Android内容提供者(一)读取系统联系人
- android读取联系人,短信,通话记录,IMSI
- android之读取联系人信息
- android 联系人 --- 读取usim卡的邮箱
- Android 读取系统联系人
- Android发送短信和读取联系人
- Android开发_读取联系人信息_读取通讯录号码
- android从通讯录中选择联系人并读取号码
- 在android中读取联系人信息的程序,包括读取联系人姓名、手机号码和邮箱