安卓手机卡屏代码怎么查看手机卡里面储存的名片?

安卓手机卡装里边没有显示出卡上存的电话号码怎么回事、_百度知道
安卓手机卡装里边没有显示出卡上存的电话号码怎么回事、
我有更好的答案
这看系统是怎么设置的。没有显示的话,可到“联系人”,然後按MENU键,在弹出来的选项中应该有导入/导出联系人,然後选择从SIM卡导入就可以了
您好,您不可以参考以下步骤:联系人--显示选项--SIM卡联系人(上的勾打上),望采纳.
可以参考楼上的步骤进行导入或者用SIM卡管理软件导入
其他类似问题
为您推荐:
电话号码的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在线时间66 小时
版本4.8.29
积分 146, 距离下一级还需 54 积分
积分 146, 距离下一级还需 54 积分
机型基伍大7
MIUI版本4.8.29
由于,我刚刚接触安卓系统还不熟悉
每次,新建联系人只能存在手机.一刷机就没了
请教大家:安卓系统如何保存新联系人到SIM卡?(MIUI系统也是同样的做法?)
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
MIUI 为流畅而生
迄今为止最快速的Android系统
MIUI一直以来都是以流畅的划屏快感体验,而闻名全球的~!!!
经验14400 米
在线时间629 小时
版本5.10.14
【我只是打酱油的】
机型小米Note
签到次数81
MIUI版本5.10.14
联系人-导入/导出。可以导出到SD卡,也可以弄到SIM卡上。
已有&1&人评分
感谢!所有安卓系统都可以这样弄?.
经验132 米
在线时间65 小时
版本5.4.24
积分 226, 距离下一级还需 274 积分
积分 226, 距离下一级还需 274 积分
机型小米Note 移动4G/联通4G
MIUI版本5.4.24
miui系统可以直接显示sim卡上的联系人,也可以直接保存到sim卡上
已有&1&人评分
感谢!所有安卓系统都可以这样弄?.
经验5092 米
在线时间233 小时
版本3.12.20
积分 9476, 距离下一级还需 10524 积分
积分 9476, 距离下一级还需 10524 积分
机型小米手机1/1S
签到次数48
MIUI版本3.12.20
一楼说得对。
已有&1&人评分
感谢!所有安卓系统都可以这样弄?.
经验14400 米
在线时间629 小时
版本5.10.14
【我只是打酱油的】
机型小米Note
签到次数81
MIUI版本5.10.14
是不是所有的这个不清楚,应该是都有这个功能的。
已有&1&人评分
助人为乐^_^
经验77246 米
威望4358 米
在线时间4407 小时
版本5.10.15
机型小米平板
签到次数88
MIUI版本5.10.15
下载第三方软件即可。
已有&2&人评分
MIUI 因你更精彩!
请教版主:要软件的名字
在线时间81 小时
版本JHACNAH5.0
积分 251, 距离下一级还需 249 积分
积分 251, 距离下一级还需 249 积分
机型MOTO Defy
MIUI版本JHACNAH5.0
copy to SIM card 这个软件轻松搞定
已有&1&人评分
经验387 米
在线时间72 小时
版本3.3.13
积分 468, 距离下一级还需 32 积分
积分 468, 距离下一级还需 32 积分
机型小米手机2/2S
MIUI版本3.3.13
直接谷歌同步就行了,放卡上严重不靠谱,手机丢了照样没……
已有&1&人评分
哦~从来不用谷歌.......
MIUI 7纪念勋章
MIUI五周年
MIUI五周年纪念勋章
MIUI 3000万
MIUI 3000万发烧友纪念勋章
MIUI 2000万
MIUI 2000万发烧友纪念勋章
MIUI三周年
MIUI三周年纪念勋章
已关注微信
已关注极客秀微信
小米桌面内测勋章
1000万用户纪念勋章
MIUI1000万用户纪念勋章
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI俱乐部发烧友
MIUI俱乐部发烧友
小米手机2终身荣誉勋章
小米手机2终身荣誉勋章
小米平板首发纪念勋章
小米平板首发纪念勋章
百万壁纸评审纪念勋章
疾风测评勋章
资源疾行活动限定勋章
MIUI 100周
100周发布纪念勋章
社区VIP贵宾专属
Copyright (C) 2015 MIUI
京ICP备号 | 京公网安备5号 | 京ICP证110507号9451人阅读
&&&&&&& Android手机的通讯录联系人全部都存在系统的数据库中,如果须要获得通讯里联系人的信息就须要访问系统的数据库,才能将信息拿出来。 这一篇文章我主要带领同学们熟悉Android的通讯录机制。
图中选中的数据库 contacts2.db就是系统储存联系人的数据库,我们将它打开看看里面储存了些什么东东? 如果对数据库不太清楚的请查看我的博文
打开contacts.db后 发面里面有一堆表,同学们先别慌张。今天我们主要讨论红框内的4个比较常用的表,后期我在介绍其它表的使用。这里说一下如果你想在真机上查看数据库的话必需要先获得root权限,否则无法查看。
1.contacts 表
_id :表的ID,主要用于其它表通过contacts 表中的ID可以查到相应的数据。
display_name:& 联系人名称
photo_id:头像的ID,如果没有设置联系人头像,这个字段就为空
times_contacted:通话记录的次数
last_time_contacted: 最后的通话时间
lookup :是一个持久化的储存 因为用户可能会改名子 但是它改不了lookup
raw_contact_id:通过raw_contact_id可以找到 raw_contact表中相对的数据。
data1 到 data15& 这里保存着联系人的信息 联系人名称 联系人电话号码& 电子邮件& 备注 等等。
3.phone_look_up表
data_id& : 通过data_id可以找到 datat表中相对的数据。
raw_contact_id : 通过raw_contact_id 可以找到 raw_contact_表中相对的数据。
normalized_number: 这个字段就比较有意思了,它是将每个电话号码逆序排列。
4.raw_contact表
version :版本号,用于监听变化
deleted :删除标志, 0为默认 1 表示这行数据已经删除
display_name : 联系人名称
last_time_contacts : 最后联系的时间
有关这些的源码都在android.provider.ContactsContract这个类里面,如果想深入了解的话 可以去看看,数据库相关的操作 联查啊 啥的& 都在里面。
下面说说代码是怎么用的
&&&&&&&& 先说说 Phone.CONTENT_URI,获取联系人的时候需要去这个url中去找数据 。它所指向的其实是“content:// com.android.contacts/data/phones”。这个url 对应着contacts表 和 & raw_contacts表 以及 data表 所以说我们的数据都是从这三个表中获取的。
这里强调一下query第二个参数&
private&static&final&String[]&PHONES_PROJECTION&=&new&String[]&{&&&&&&&&&Phone.DISPLAY_NAME,&Phone.NUMBER,&Photo.PHOTO_ID,Phone.CONTACT_ID&};&&
它的意思是只去表中找 显示名称& 电话号码 头像ID& 联系人ID 这4个数据 ,如果你须要其它数据 的话 就须要修改这里。
获得手机通讯录联系人信息
&& private&void&getPhoneContacts()&{&&
ContentResolver&resolver&=&mContext.getContentResolver();&&&&&&Cursor&phoneCursor&=&resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION,&null,&null,&null);&&&&&&if&(phoneCursor&!=&null)&{&&&&&&while&(phoneCursor.moveToNext())&{&&&&&&&&&&&&&&String&phoneNumber&=&phoneCursor.getString(PHONES_NUMBER_INDEX);&&&&&&&&&&&&if&(TextUtils.isEmpty(phoneNumber))&&&&&&&&&&continue;&&&&&&&&&&&&&&&&&&String&contactName&=&phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX);&&&&&&&&&&&&&&&&&&Long&contactid&=&phoneCursor.getLong(PHONES_CONTACT_ID_INDEX);&&&&&&&&&&&&&&Long&photoid&=&phoneCursor.getLong(PHONES_PHOTO_ID_INDEX);&&&&&&&&&&&&&&&&&&Bitmap&contactPhoto&=&null;&&&&&&&&&&&&&&if(photoid&&&0&)&{&&&&&&&&&&Uri&uri&=ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid);&&&&&&&&&&InputStream&input&=&ContactsContract.Contacts.openContactPhotoInputStream(resolver,&uri);&&&&&&&&&&contactPhoto&=&BitmapFactory.decodeStream(input);&&&&&&}else&{&&&&&&&&&&contactPhoto&=&BitmapFactory.decodeResource(getResources(),&R.drawable.contact_photo);&&&&&&}&&&&&&&&&&&&mContactsName.add(contactName);&&&&&&mContactsNumber.add(phoneNumber);&&&&&&mContactsPhonto.add(contactPhoto);&&&&&&}&&&&&&&&phoneCursor.close();&&}&&&&&}&&
获得手机sim卡联系人信息
sim卡和手机本人 获取的方式类似 只是url有点不一样 ,须要注意的一点是 sim卡& 是没有联系人头像的。
&&&&&&&&private&void&getSIMContacts()&{&&ContentResolver&resolver&=&mContext.getContentResolver();&&&&Uri&uri&=&Uri.parse(&content://icc/adn&);&&Cursor&phoneCursor&=&resolver.query(uri,&PHONES_PROJECTION,&null,&null,&&&&&&null);&&&&if&(phoneCursor&!=&null)&{&&&&&&while&(phoneCursor.moveToNext())&{&&&&&&&&&&&&&&String&phoneNumber&=&phoneCursor.getString(PHONES_NUMBER_INDEX);&&&&&&&&&&&&if&(TextUtils.isEmpty(phoneNumber))&&&&&&&&&&continue;&&&&&&&&&&&&String&contactName&=&phoneCursor&&&&&&&&&&.getString(PHONES_DISPLAY_NAME_INDEX);&&&&&&&&&&&&&&&&&&&&mContactsName.add(contactName);&&&&&&mContactsNumber.add(phoneNumber);&&&&&&}&&&&&&&&phoneCursor.close();&&}&&&&&}&&
这个界面就可以看到联系人的 名称 号码 以及头像了。如果想在模拟器上看须要将图片拷贝到SD卡中,然后在联系人中设置一下,这里就可以看到头像了,或者 真机上会比较清楚、
任意点击一个联系人会调用系统拨打电话的界面 ,代码如下。
&&Intent&dialIntent&=&new&Intent(Intent.ACTION_CALL,&Uri&&&&&&.parse(&tel:&&+&mContactsNumber.get(position)));&&startActivity(dialIntent);&&
最重要的是须要AndroidManifest.xml中 加入权限 否则代码会报错的。 千万别忘了。
&&&&android:name=&android.permission.READ_CONTACTS&&&&&&android:name=&android.permission.CALL_PHONE&&&&&
下面给出完整的代码
import&java.io.InputS&&import&java.util.ArrayL&&&&import&android.app.ListA&&import&android.content.ContentR&&import&android.content.ContentU&&import&android.content.C&&import&android.content.I&&import&android.database.C&&import&android.graphics.B&&import&android.graphics.BitmapF&&import&android.net.U&&import&android.os.B&&import&android.provider.ContactsC&&import&android.monDataKinds.P&&import&android.monDataKinds.P&&import&android.text.TextU&&import&android.view.LayoutI&&import&android.view.V&&import&android.view.ViewG&&import&android.widget.AdapterV&&import&android.widget.BaseA&&import&android.widget.ImageV&&import&android.widget.ListV&&import&android.widget.TextV&&import&android.widget.AdapterView.OnItemClickL&&&&public&class&ContactsActivity&extends&ListActivity&{&&&&&&&&Context&mContext&=&null;&&&&&&&&&&&&&&private&static&final&String[]&PHONES_PROJECTION&=&new&String[]&{&&&&&&&&&&Phone.DISPLAY_NAME,&Phone.NUMBER,&Photo.PHOTO_ID,Phone.CONTACT_ID&};&&&&&&&&&&&&&&&&&private&static&final&int&PHONES_DISPLAY_NAME_INDEX&=&0;&&&&&&&&&&&&&&&&&&private&static&final&int&PHONES_NUMBER_INDEX&=&1;&&&&&&&&&&&&&&&&&&private&static&final&int&PHONES_PHOTO_ID_INDEX&=&2;&&&&&&&&&&&&&&&&&private&static&final&int&PHONES_CONTACT_ID_INDEX&=&3;&&&&&&&&&&&&&&&&&&&&private&ArrayList&String&&mContactsName&=&new&ArrayList&String&();&&&&&&&&&&&&&&&&&&private&ArrayList&String&&mContactsNumber&=&new&ArrayList&String&();&&&&&&&&&&&&&&private&ArrayList&Bitmap&&mContactsPhonto&=&new&ArrayList&Bitmap&();&&&&&&&&&&&&ListView&mListView&=&null;&&&&&&MyListAdapter&myAdapter&=&null;&&&&&&&&@Override&&&&&&public&void&onCreate(Bundle&savedInstanceState)&{&&&&&&mContext&=&this;&&&&&&mListView&=&this.getListView();&&&&&&&&&&&&getPhoneContacts();&&&&&&&&myAdapter&=&new&MyListAdapter(this);&&&&&&setListAdapter(myAdapter);&&&&&&&&&&mListView.setOnItemClickListener(new&OnItemClickListener()&{&&&&&&&&&&&&@Override&&&&&&&&&&public&void&onItemClick(AdapterView&?&&adapterView,&View&view,&&&&&&&&&&&&&&int&position,&long&id)&{&&&&&&&&&&&&&&&&&&&&Intent&dialIntent&=&new&Intent(Intent.ACTION_CALL,&Uri&&&&&&&&&&&&&&.parse(&tel:&&+&mContactsNumber.get(position)));&&&&&&&&&&startActivity(dialIntent);&&&&&&&&&&}&&&&&&});&&&&&&&&super.onCreate(savedInstanceState);&&&&&&}&&&&&&&&&&&&&&private&void&getPhoneContacts()&{&&&&&&ContentResolver&resolver&=&mContext.getContentResolver();&&&&&&&&&&&&&&Cursor&phoneCursor&=&resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION,&null,&null,&null);&&&&&&&&&&if&(phoneCursor&!=&null)&{&&&&&&&&&&while&(phoneCursor.moveToNext())&{&&&&&&&&&&&&&&&&&&&&&&String&phoneNumber&=&phoneCursor.getString(PHONES_NUMBER_INDEX);&&&&&&&&&&&&&&&&&&&&if&(TextUtils.isEmpty(phoneNumber))&&&&&&&&&&&&&&continue;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&String&contactName&=&phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Long&contactid&=&phoneCursor.getLong(PHONES_CONTACT_ID_INDEX);&&&&&&&&&&&&&&&&&&&&&&Long&photoid&=&phoneCursor.getLong(PHONES_PHOTO_ID_INDEX);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Bitmap&contactPhoto&=&null;&&&&&&&&&&&&&&&&&&&&&&if(photoid&&&0&)&{&&&&&&&&&&&&&&Uri&uri&=ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid);&&&&&&&&&&&&&&InputStream&input&=&ContactsContract.Contacts.openContactPhotoInputStream(resolver,&uri);&&&&&&&&&&&&&&contactPhoto&=&BitmapFactory.decodeStream(input);&&&&&&&&&&}else&{&&&&&&&&&&&&&&contactPhoto&=&BitmapFactory.decodeResource(getResources(),&R.drawable.contact_photo);&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&mContactsName.add(contactName);&&&&&&&&&&mContactsNumber.add(phoneNumber);&&&&&&&&&&mContactsPhonto.add(contactPhoto);&&&&&&&&&&}&&&&&&&&&&&&phoneCursor.close();&&&&&&}&&&&&&}&&&&&&&&&&&&&&&&&&private&void&getSIMContacts()&{&&&&&&ContentResolver&resolver&=&mContext.getContentResolver();&&&&&&&&&&&&Uri&uri&=&Uri.parse(&content://icc/adn&);&&&&&&Cursor&phoneCursor&=&resolver.query(uri,&PHONES_PROJECTION,&null,&null,&&&&&&&&&&null);&&&&&&&&if&(phoneCursor&!=&null)&{&&&&&&&&&&while&(phoneCursor.moveToNext())&{&&&&&&&&&&&&&&&&&&&&&&String&phoneNumber&=&phoneCursor.getString(PHONES_NUMBER_INDEX);&&&&&&&&&&&&&&&&&&&&if&(TextUtils.isEmpty(phoneNumber))&&&&&&&&&&&&&&continue;&&&&&&&&&&&&&&&&&&&&String&contactName&=&phoneCursor&&&&&&&&&&&&&&.getString(PHONES_DISPLAY_NAME_INDEX);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&mContactsName.add(contactName);&&&&&&&&&&mContactsNumber.add(phoneNumber);&&&&&&&&&&}&&&&&&&&&&&&phoneCursor.close();&&&&&&}&&&&&&}&&&&&&&&&&&&class&MyListAdapter&extends&BaseAdapter&{&&&&&&public&MyListAdapter(Context&context)&{&&&&&&&&&&mContext&=&&&&&&&}&&&&&&&&public&int&getCount()&{&&&&&&&&&&&&&&&&&&&&return&mContactsName.size();&&&&&&}&&&&&&&&@Override&&&&&&public&boolean&areAllItemsEnabled()&{&&&&&&&&&&return&false;&&&&&&}&&&&&&&&public&Object&getItem(int&position)&{&&&&&&&&&&return&&&&&&&}&&&&&&&&public&long&getItemId(int&position)&{&&&&&&&&&&return&&&&&&&}&&&&&&&&public&View&getView(int&position,&View&convertView,&ViewGroup&parent)&{&&&&&&&&&&ImageView&iamge&=&null;&&&&&&&&&&TextView&title&=&null;&&&&&&&&&&TextView&text&=&null;&&&&&&&&&&if&(convertView&==&null&||&position&&&mContactsNumber.size())&{&&&&&&&&&&convertView&=&LayoutInflater.from(mContext).inflate(&&&&&&&&&&&&&&R.layout.colorlist,&null);&&&&&&&&&&iamge&=&(ImageView)&convertView.findViewById(R.id.color_image);&&&&&&&&&&title&=&(TextView)&convertView.findViewById(R.id.color_title);&&&&&&&&&&text&=&(TextView)&convertView.findViewById(R.id.color_text);&&&&&&&&&&}&&&&&&&&&&&&&&&&&&&&title.setText(mContactsName.get(position));&&&&&&&&&&&&&&&&&&&&text.setText(mContactsNumber.get(position));&&&&&&&&&&&&&&&&&&&&iamge.setImageBitmap(mContactsPhonto.get(position));&&&&&&&&&&return&convertV&&&&&&}&&&&&&&&}&&}&&
列表的布局文件
&version=&1.0&&encoding=&utf-8&&&&&&&&&&xmlns:android=&/apk/res/android&&&&&&&&&android:layout_width=&fill_parent&&android:layout_height=&wrap_content&&&&&&&&&&android:id=&@+id/color_image&&&&&&&&&&&&&android:layout_width=&40dip&&android:layout_height=&40dip&&&&&&&&&&&android:id=&@+id/color_title&&&&&&&&&&&&&android:layout_width=&fill_parent&&android:layout_height=&wrap_content&&&&&&&&&&&&&android:layout_toRightOf=&@+id/color_image&&&&&&&&&&&&&android:layout_alignParentBottom=&true&&&&&&&&&&&&&android:layout_alignParentRight=&true&&android:singleLine=&true&&&&&&&&&&&&&android:ellipsize=&marquee&&&&&&&&&&&&&&android:textSize=&15dip&&&&&&&&&&&&android:id=&@+id/color_text&&&&&&&&&&&&&android:layout_width=&fill_parent&&android:layout_height=&wrap_content&&&&&&&&&&&&&android:layout_toRightOf=&@+id/color_image&&&&&&&&&&&&&android:layout_below=&@+id/color_title&&&&&&&&&&&&&android:layout_alignParentBottom=&true&&&&&&&&&&&&&android:layout_alignParentRight=&true&&&&&&&&&&&&&&android:singleLine=&true&&&&&&&&&&&&&android:ellipsize=&marquee&&&&&&&&&&&&&&android:textSize=&20dip&&&&&&&&&&
这章的内容如果有更熟悉的朋友欢迎和我一起讨论。老规矩每篇文章都会附带源代码,最后如果你还是觉得我写的不够详细 看的不够爽 不要紧我把源代码的下载地址贴出来 欢迎大家一起讨论学习雨松MOMO希望可以和大家一起进步。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:624833次
积分:6389
积分:6389
排名:第1776名
原创:119篇
转载:27篇
评论:254条
(1)(1)(5)(1)(1)(2)(12)(3)(1)(1)(6)(1)(1)(2)(1)(10)(8)(11)(7)(4)(43)(1)(23)(2)}

我要回帖

更多关于 安卓手机卡怎么办 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信