安卓根据号码获取联系人姓名和头像
来源:互联网 发布:淘宝项链店铺 编辑:程序博客网 时间:2024/04/29 06:11
import java.io.InputStream;import android.content.ContentResolver;import android.content.ContentUris;import android.content.Context;import android.database.Cursor;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.net.Uri;import android.provider.ContactsContract;import android.provider.ContactsContract.CommonDataKinds.Phone;import android.provider.ContactsContract.CommonDataKinds.Photo;import android.provider.ContactsContract.Contacts;import android.provider.ContactsContract.PhoneLookup;import android.text.TextUtils;public class ContactInfo {private Context mContext;private String number = null;private String name = null;private Bitmap head = null;public ContactInfo(Context context, String number_) {mContext = context;number = number_;searchContactInfo();}public ContactInfo setNumber(String s) {number = s;return this;}public ContactInfo setName(String s) {name = s;return this;}public ContactInfo setHead(Bitmap b) {head = b;return this;}public String getNumber() {return number;}public String getName() {return name;}public Bitmap getHead() {return head;}private void searchContactInfo() {final ContentResolver resolver = mContext.getContentResolver();Uri lookupUri = null;String[] projection = new String[] { PhoneLookup._ID,PhoneLookup.DISPLAY_NAME };Cursor cursor = null;try {lookupUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI,Uri.encode(number));cursor = resolver.query(lookupUri, projection, null, null, null);} catch (Exception ex) {ex.printStackTrace();try {lookupUri = Uri.withAppendedPath(android.provider.Contacts.Phones.CONTENT_FILTER_URL,Uri.encode(number));cursor = resolver.query(lookupUri, projection, null, null, null);} catch (Exception e) {e.printStackTrace();}}if (cursor != null && cursor.getCount() > 0 && cursor.moveToFirst()) {name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone._ID));Cursor phone = mContext.getContentResolver().query(Phone.CONTENT_URI, null,Phone.CONTACT_ID + "=" + contactId, null, null);if (phone != null && phone.getCount() > 0 && phone.moveToNext()) {head = getContactPhoto(phone);phone.close();}cursor.close();}if (name == null || name.equals("")) {name = "未知来电";}if (head == null)head = BitmapFactory.decodeResource(mContext.getResources(),R.drawable.picture_unknown);}private Bitmap getContactPhoto(Cursor phone) {String photoid = phone.getString(phone.getColumnIndex(Phone.PHOTO_ID));if (photoid != null) {Cursor c = mContext.getContentResolver().query(ContactsContract.Data.CONTENT_URI,new String[] { ContactsContract.Data.DATA15 },ContactsContract.Data._ID + "=" + photoid, null, null);c.moveToFirst();byte[] ss = c.getBlob(0);if (ss != null) {Bitmap map = BitmapFactory.decodeByteArray(ss, 0, ss.length);c.close();return map;}c.close();return null;}return null;}}
0 1
- 安卓根据号码获取联系人姓名和头像
- 根据号码取得联系人姓名
- 手机中预置联系人(姓名,号码,头像)
- 根据电话号码获取联系人姓名
- 根据号码获取联系人名称
- 【android】通过号码获取联系人姓名
- 获取所有联系人的姓名以及号码
- 手机联系人信息获取(头像,电话,姓名)
- 通过联系人号码获取联系人的姓名(android开发)
- Android根据电话号码取得联系人姓名及头像
- Android中 根据电话号码获取联系人姓名
- 根据姓名获取联系人的电话号码
- [自学Android之旅] 获取通讯录的联系人 姓名和号码
- android根据号码获取联系人一些总结
- 获取联系人姓名和电话
- android获取手机联系人信息(电话,邮箱,姓名,头像)
- 获取联系人的Id和姓名
- android手机获取联系人姓名和电话号码
- WPF书写数据库语句要仔细啊
- 见面之后的感想
- hadoop namenode启动过程详细剖析及瓶颈分析
- codeforces div2 496
- 莫队算法
- 安卓根据号码获取联系人姓名和头像
- Resetting Password for Ubuntu
- 循环素数
- Codeforces 496D
- excel如何快速自动填充空白单元格上一行的内容
- php解析 gzip压缩 chunked快传输
- php数据采集
- redis 持久化(persistence)
- Redis持久化实践及灾难恢复模拟