使用系统内置的ContentProvider获取非SIM卡的手机联系人
2013-04-11 20:29
465 查看
要使用系统的内置ContentProvider,首先得获取注册权限。
<uses-permission
android:name="android.permission.READ_CONTACTS">
</uses-permission>
给出权限注册源码
然后,就是直接在主Activity的界面里面显示出来。
主Activity代码如下
<uses-permission
android:name="android.permission.READ_CONTACTS">
</uses-permission>
给出权限注册源码
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.syscp" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" /> <uses-permission android:name="android.permission.READ_CONTACTS"> </uses-permission> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.syscp.Main" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
然后,就是直接在主Activity的界面里面显示出来。
主Activity代码如下
package com.example.syscp; import android.net.Uri; import android.os.Bundle; import android.provider.Contacts.People; import android.provider.ContactsContract; import android.provider.ContactsContract.Contacts; import android.app.Activity; import android.content.ContentResolver; import android.database.Cursor; import android.graphics.Color; import android.view.Menu; import android.widget.TextView; public class Main extends Activity { // 查询ContentProvider时希望返回的列 String[] colimns = { Contacts.DISPLAY_NAME, Contacts._ID, // People._ID, // People.NAME }; Uri contactUri = Contacts.CONTENT_URI; // Uri contatUri=People.CONTENT_URI; TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tv = (TextView) findViewById(R.id.tv); String result = getQueryData(); tv.setTextColor(Color.GREEN); tv.setTextSize(20.0f); tv.setText("ID\t姓名\t\t电话号码\n" + result); } // 获取联系人列表信息 private String getQueryData() { // TODO Auto-generated method stub String result = ""; // 获取ContentResolver对象 ContentResolver resolver = getContentResolver(); Cursor cursor = resolver.query(contactUri, colimns, null, null, null); // 获得ID、Name等字段的索引 int idIndex = cursor.getColumnIndex(Contacts._ID); int nameIndex = cursor.getColumnIndex(Contacts.DISPLAY_NAME); String phoneNum = ""; // 遍历cursor,提取数据 for (cursor.moveToFirst(); (!cursor.isAfterLast()); cursor.moveToNext()) { result = result + cursor.getString(idIndex) + "\t"; result = result + cursor.getString(nameIndex) + "\t"; // 获取电话号码 Cursor phone = resolver.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + cursor.getString(idIndex), null, null); while(phone.moveToNext()){ int phoneIndex=phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER); String temp = phone.getString(phoneIndex); phoneNum="\t"+temp; } phone.close(); result+=phoneNum+"\t\n"; } cursor.close(); return result; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
相关文章推荐
- 使用系统ContentProvider获取联系人信息
- Android ContentProvider获取手机联系人实例
- ContentProvider获取手机联系人
- Android-contentprovider 获取手机联系人
- ContentProvider获取系统的电话号码绑定到ListView以及跳转通讯录获区联系人信息绑定到前台。
- Android获取手机内置外置存储文件列表,完美解决各种rom各种系统版本的获取方式不用的问题
- 使用Contenprovider获取手机联系人,获取外部的音频文件
- Mobile 获取手机上和SIM卡上的联系人
- android系统中使用TelephonyManager类来获取imei号和其他手机信息
- Android(java)学习笔记249:ContentProvider使用之获得系统联系人信息01
- 安卓使用ContentProvider实现读取手机联系人和短信内容
- 演示ContentProvider使用--获取通讯录所有联系人号码、email的例子
- 在Ubuntu系统基于ROS使用废旧Android手机摄像头获取视频流(rtsp_camera)
- Android 使用AsyncTaskLoader获取手机联系人
- 通过ContentProvider实现获取手机联系人
- [MTK] Bluetooth 车载系统 > 获取手机电量 SIM卡信号 运营商等 Android6.0
- 获取ContentProvider来获取手机所有的联系人及联系人信息
- 获取手机联系人(Contentprovider)
- IOS开发 手机联系人获取与使用ABAddressBookRef
- android系统中使用TelephonyManager类来获取imsi号和其他手机信息