- 浏览: 8538 次
- 性别:
文章分类
最新评论
仅导出手机联系人
权限
<uses-permission android:name="android.permission.READ_CONTACTS"/>
导出手机联系人,并且实现拨号和发信息的功能
权限
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS"/>
package com.example.test_tx; import android.os.Bundle; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.app.Activity; import android.content.ContentResolver; import android.database.Cursor; import android.text.TextUtils; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity { private String getQueryData(){ ContentResolver resolver=this.getContentResolver(); String[] columns = new String[] {Phone.DISPLAY_NAME,Phone.NUMBER}; Cursor cursor = resolver.query(Phone.CONTENT_URI, columns, null,null,"sort_key"); StringBuilder sb=new StringBuilder(); while (cursor.moveToNext()) { String name=cursor.getString(cursor.getColumnIndex(Phone.DISPLAY_NAME)); String number=cursor.getString(cursor.getColumnIndex(Phone.NUMBER)); if(TextUtils.isEmpty(number)){ continue; } sb.append(name).append("\n"). append("联系方式").append(number).append("\n").append("---------------------------------------------").append("\n"); } cursor.close(); return sb.toString(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv=(TextView)findViewById(R.id.textView1); tv.setText(getQueryData()); } @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"/>
导出手机联系人,并且实现拨号和发信息的功能
package com.example.lxrddh; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.content.ContentResolver; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.database.CursorWrapper; import android.telephony.PhoneNumberUtils; import android.text.TextUtils; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import android.widget.Toast; public class MainActivity extends Activity { ListView listView; String number; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ListView listView=(ListView)findViewById(R.id.listView); Cursor cur=getContentResolver().query(Phone.CONTENT_URI,null, null, null, "sort_key"); startManagingCursor(cur); final ListAdapter adapter=new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2,cur,new String[]{ Phone.DISPLAY_NAME,Phone.NUMBER}, new int[]{android.R.id.text1,android.R.id.text2}); listView.setAdapter(adapter); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub CursorWrapper wrapper=(CursorWrapper)listView.getItemAtPosition(arg2); int columnIndex=wrapper.getColumnIndex(Phone.NUMBER); if(!wrapper.isNull(columnIndex)){ final String number=wrapper.getString(columnIndex); if(PhoneNumberUtils.isGlobalPhoneNumber(number)){ Builder builder=new AlertDialog.Builder(MainActivity.this); builder.setTitle("请选择"); builder.setPositiveButton("通话",new AlertDialog.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { // TODO Auto-generated method stub startActivity( new Intent(Intent.ACTION_DIAL,Uri.parse("tel://"+ number))); } }); builder.setNegativeButton("短信",new AlertDialog.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { startActivity (new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto:"+ number))); } }); builder.create().show(); } } } }); } private void openToast(String str){ Toast.makeText(this,str,Toast.LENGTH_SHORT).show(); } @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.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS"/>
发表评论
-
GestureDetector类及其用法
2014-09-02 14:41 0当用户触摸屏幕的 ... -
信鸽demo
2014-07-07 10:12 0DBOpenHelper package com.exam ... -
几种listitem griditem
2014-06-25 14:18 0<ListView and ... -
title上左右按钮
2014-06-25 13:33 327<RelativeLayout andr ... -
理财dome
2014-06-13 17:07 0带SQlite的项目 数据模型公共类 包名.model 收入信 ... -
选项卡片段
2014-06-10 14:34 444主界面的XML <TabHost xmlns:and ... -
Galley
2014-06-10 13:45 0Java源代码 public class Chapter7 ... -
GridView
2014-06-10 13:10 0例子一:继承ArrayAdapter作为自定义adapter ... -
Spinner
2014-06-10 10:33 0设置Spinner之中的元素内容,采用了ArrayAdapte ... -
ListView继承ListActivity来实现
2014-06-10 10:10 0ListActivity是一个全屏的list,如果我们需要定制 ... -
文件管理器(草稿篇)
2014-06-06 10:23 1021package com.example.wenjiangu ... -
发送手机号获取验证码
2014-06-06 09:03 0输入手机号 package com.example.boh ... -
照片缩放和缩略图
2014-06-06 08:41 836java private Bitmap comp(Bit ... -
获取自定义提示转轮
2014-06-03 10:21 431java LayoutInflater inflater = ... -
修改密码
2014-06-03 10:14 345bc_Button=(Button)findViewById( ... -
EditText边框
2014-06-03 10:07 521drawable my_edittext.xml <?x ... -
登录界面
2014-06-03 10:01 456package com.gcntc.news_editing_ ... -
欢迎界面
2014-06-03 09:58 416package com.gcntc.news_editing_ ...
相关推荐
### C语言实现的手机通讯录管理系统 在计算机科学与编程领域,使用C语言构建应用程序是基础而关键的技能之一。本文将深入解析一个基于C语言的手机通讯录管理系统的实现细节,该系统提供了添加、查询、修改和删除...
基于 Android 手机通讯录的设计与实现 摘要:本系统是基于 Android 手机操作系统,利用 Java 语言,Eclipse 为开发工具,设计了一款手机通讯录。本系统包括存储、删除、修改、打电话、发信息、发邮件、备份 SD 卡等...
在Android平台上,开发一款手机通讯录应用涉及到许多关键技术和组件,包括用户界面设计、数据存储、权限管理以及安全措施。接下来,我们将详细探讨这些知识点。 首先,**用户界面设计**是任何应用程序的核心部分。...
在Android平台上,获取手机通讯录是一项常见的功能,它涉及到用户数据的访问和处理。这篇详细的说明将引导你了解如何在Android设备上实现这一操作,包括客户端和服务端的交互。 首先,我们要理解Android客户端如何...
《基于Java实现的简单手机通讯录系统》 在信息技术飞速发展的今天,手机通讯录作为日常生活中的必备工具,其功能的实现与优化始终是开发者关注的焦点。本项目旨在通过Java编程语言,实现一个简单的手机通讯录系统,...
在本项目中,标题"用C++写的一个手机通讯录"揭示了主要的编程语言——C++,以及项目的核心功能,即实现一个类似手机通讯录的管理程序。这个通讯录程序可能包含了添加联系人、搜索联系人、编辑联系人信息以及删除联系...
【Android开发的手机通讯录详解】 在Android平台上开发一个手机通讯录系统,是许多开发者学习Android编程时的经典案例,也是毕业设计或课程设计中的常见课题。这个项目涉及到多个Android开发的关键知识点,包括用户...
根据提供的文件信息,我们可以推断出该文档主要讨论的是如何在Android平台上实现手机通讯录的目标,包括将通讯录导出到Excel文件以及设置个人名片等内容。下面将详细展开这些知识点。 ### 手机通讯录实现目标 ####...
在Android平台上,获取手机通讯录和SIM卡联系人,以及调用拨号界面是常见的功能需求,这通常涉及到用户信息的读取和系统的交互。以下将详细解释如何实现这些功能。 首先,要获取手机通讯录的联系人信息,我们需要...
本项目“Android学习之手机通讯录”聚焦于使用ContentProvider操作手机内置的通讯录,包括查询、添加和删除联系人。尽管删除功能存在不足,但这个练习仍能帮助我们深入理解ContentProvider的工作原理。 首先,我们...
本文将聚焦于三款主流的手机通讯录应用:QQ通讯录、友录通讯录和火种通讯录,进行一次详尽的横评分析,并对未来的发展趋势进行一番畅想。 首先,QQ通讯录是腾讯公司推出的一款通讯录管理工具,它深度整合了QQ账号...
《C语言实现手机通讯录管理系统》 在C语言的学习过程中,进行课程设计是提升编程技能的重要环节。手机通讯录管理系统就是一个适合C语言初学者实践的项目。它涉及到基本的数据结构、文件操作以及用户交互,有助于...
【标题】:“C语言做的手机通讯录” C语言是一种基础且强大的编程语言,常用于系统开发、嵌入式系统以及教育领域。在这个项目中,“C语言做的手机通讯录”是利用C语言实现的一个简单应用程序,它模拟了手机上的联系...
在Android操作系统中,手机通讯录是一个至关重要的功能,它不仅为用户提供联系人存储、查找和管理的便捷方式,还与其他应用程序和服务紧密集成。这篇“android手机通讯录的毕业论文”可能涉及以下几个关键知识点: ...
本实战应用主要涵盖了如何通过Android源码获取手机通讯录,包括SIM卡中的联系人信息。接下来,我们将详细讨论这个主题。 首先,我们要知道在Android中访问通讯录主要涉及`ContactsContract`类,它是Android系统提供...
【手机通讯录管理系统 C语言】 手机通讯录管理系统是一款基于C语言开发的应用程序,它主要用于管理和操作个人或组织的联系人信息。C语言以其简洁、高效和广泛的平台支持,成为实现此类系统的一个合适选择。该系统...
《安卓课程设计-手机通讯录系统全解》 在当今移动通信与互联网融合的时代,用户对手机功能的需求日益增长,而传统的手机操作系统如Symbian、Windows Mobile等已无法满足这些需求。在这种背景下,Android应运而生。...