那么这一节就迎来激动人心的通讯录在手天下我有的章节
- CallLog.Calls._ID
- CallLog.Calls.CACHED_NAME
- CallLog.Calls.NUMBER
想要知道你亲爱的他(她)是被动接到还是主动拨出么,这里涉及到,呼叫类型
CallLog.Calls.TYPE
- 拨出 outgoing
- 拨入 incoming
- 未接 missed
本实例只实现读取id,人名,电话号码,有心人可以自加功能
主布局函数:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:id="@+id/callList" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout>
listview模板布局函数定义:
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TableRow> <TextView android:id="@+id/_id" android:textSize="20px" android:layout_height="wrap_content" android:layout_width="30px" /> <TextView android:id="@+id/name" android:textSize="20px" android:layout_height="wrap_content" android:layout_width="180px" /> <TextView android:id="@+id/number" android:textSize="20px" android:layout_height="wrap_content" android:layout_width="180px" /> </TableRow> </TableLayout>
主函数Activity
public class MainActivity extends Activity { private ListView calllist=null; private Cursor result=null;//找联系人 private List<Map<String,Object>> allcalls=null; private SimpleAdapter simple=null; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.calllist=(ListView)super.findViewById(R.id.callList); //操作的uri,简单来说就是找到人家的门牌号。 this.result=super.getContentResolver().query(CallLog.Calls.CONTENT_URI,null, null, null, null); this.startManagingCursor(result);//cursor交给系统管理 allcalls=new ArrayList<Map<String,Object>>(); //找到数据一个个往Map存 for(result.moveToFirst();!result.isAfterLast();result.moveToNext()){ Map<String,Object> map=new HashMap<String,Object>(); map.put("id", result.getInt(result.getColumnIndex(CallLog.Calls._ID))); String name=result.getString(result.getColumnIndex(CallLog.Calls.CACHED_NAME)); //设置未知电话,也就是手机联系人里所没有的 if(name==null||"".equals(name)){ name="未知"; } map.put("name", name); map.put("number", result.getString(result.getColumnIndex(CallLog.Calls.NUMBER))); this.allcalls.add(map); } this.simple=new SimpleAdapter(this,this.allcalls, R.layout.call,//模板 new String[]{"id","name","number"},//匹配Map集合的key new int[]{R.id._id,R.id.name,R.id.number}//设置显示数据 ); this.calllist.setAdapter(simple); } @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; } }
注意配置权限
<uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" />
效果如下:
相关推荐
"翻译在手天下我有一解千愁"这个标题暗示了我们正在讨论的是一款强大的翻译工具,可能是软件或者应用,它能帮助用户解决语言难题。"Reverso"是这款工具的名字,结合描述中的"reverso",我们可以确认Reverso是一款...
黑马程序员:C语言学习路线图已上线!一图在手,天下我有!.pdf
猜猜我有多爱你.ppt
简明英汉词典词库完全版!430万词条!!!最全词典整合收录!全网最多!俚语、短语、专业、新词全部收录!完美支持GoldenDict!一部在手,天下我有!
具体请看演示 http://www.ywyn.net<br> 管理员: admin/admin88 社区金币,道具等功能 注: http://www.ywyn.net 演示社区不接受技术支持。
本次“我有一双勤劳的手”主题班会,旨在教育学生理解劳动的价值,培养自我服务的能力,激发他们的劳动热情。活动围绕以下几个核心知识点展开: 一、劳动教育的重要性 劳动不仅是生活技能的体现,更是个人品格的...
该文件描述了一场以“我有一双勤劳的手”为主题的班会活动,主要面向小学生,旨在通过各种活动和游戏培养学生的劳动习惯和生活自理能力,同时强调手的重要性,以及手的灵巧对于日常生活和学习的积极作用。...
猜猜我有多爱你阅读测试题.pdf
2022年最新运维+测试+实施面试宝典,宝典在手,高薪我有!!!!2022年最新运维+测试+实施面试宝典,宝典在手,高薪我有!!
1、集成多个搜索引擎 2、集成多种信息站点,包括设计类、产品类、研发类、算法类、工具类 3、动态自适应窗口 ... 备注:可根据自行修改 data目录下的站点信息,结合需求调整为各种类型的导航名录 >_>
我有我感觉.ppt
这份课件通过假设“假如我有翅膀”这一情境,引导孩子们思考并描绘他们能够到达的地方以及在那里可以做的事情,以此培养他们的思维扩展和语言组织能力。 在课件的第一部分,孩子们被引入到一个充满梦幻色彩的场景中...
猜猜我有多爱你 (10).ppt
从给出的信息来看,文件名“猜猜我有多爱你教案21-10页.pdf”暗示了内容与教育有关,特别是针对儿童的阅读教学。由于提供的【部分内容】并不包含教育相关的信息,而是表现为一系列数字和不完整的字符,因此无法从中...
我有“伊妹儿”了(原创) 小学信息技术我有“伊妹儿”了课件
猜猜我有多爱你.pptx
通过教学,培养学生阅读的兴趣,分享阅读的快乐,并知道朋友是要去找寻的,而且他们都在附近,就等你去发现。 教学目标: 1. 理解故事的主要内容,初步理解友情的真谛,友情是不能用金钱买卖的。 2. 培养学生阅读...
小班综合活动《我有一双小小手》是一个旨在发展幼儿精细动作能力、认知能力和艺术创造力的教育活动。这个活动由鄂州市实验幼儿园的沈小瑛设计,主要目标是通过多种方式帮助孩子们熟悉自己的小手,巩固对颜色的认识,...
猜猜我有多爱你绘本.ppt
猜猜我有多爱你教案.pdf