利用手机中存储的电话号码给联系人打电话与发短信

利用手机中存储的电话号码给联系人打电话与发短信

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

1.将存储在数据库中的数据布局到手机界面上,其操作请见http://blog.csdn.net/xia09222826/article/details/28660653

2.三种效果显示出的效果各自是:

1)自己定义的效果

利用手机中存储的电话号码给联系人打电话与发短信
2)单选的效果

利用手机中存储的电话号码给联系人打电话与发短信

3)多选的效果

利用手机中存储的电话号码给联系人打电话与发短信

3.点击某一个联系人进行拨打电话或者发送短信(以自己定义的效果为例)

1)效果视图(比方点击了序号1的联系人):从手机电话备份界面跳转到PhoneandemailActitvity界面

利用手机中存储的电话号码给联系人打电话与发短信利用手机中存储的电话号码给联系人打电话与发短信

2)程序实现

①注冊点击事件         lv_users.setOnItemClickListener(this);

②在onItemClick()方法中使用getItemAtPosition()依据位置获取数据,在使用Intent intent=new Intent(MainActivity.this, PhoneandemailActivity.class);从手机电话备份界面跳转到PhoneandemailActitvity界面,使用putExtra()方法获取您要传递到PhoneandemailActitvity界面的信息。

注意:须要使用startActivity(intent);開始活动

③在PhoneandemailActitvity中,利用Intent intent=getIntent();String name = intent.getStringExtra(“username”);final String phone = intent.getStringExtra(“userphone”);获取到从手机电话备份界面传递来的信息

3)拨打电话的功能的实现

①创建电话拨打button的点击事件:

tv_call.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phone));
				PhoneandemailActivity.this.startActivity(intent);
			}
		});

②点击后显示的界面为:
利用手机中存储的电话号码给联系人打电话与发短信

4)发送短信的功能的实现

①创建发送短信的点击事件,并利用Intent对象将联系人的号码传递给MessageActivity界面

tv_massage.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent intent=new Intent(PhoneandemailActivity.this, MassageActivity.class);
				intent.putExtra("userphone", phone);
				startActivity(intent);
			}
		});

②MessageActivity界面的搭建

利用手机中存储的电话号码给联系人打电话与发短信
③发送短信的功能的程序实现

a.利用Intent对象获取PhoneandemailActitvity界面传递的信息。

b.创建发送的点击事件     send_btn.setOnClickListener(this);

	@Override
	public void onClick(View v) {
		int id=v.getId();
		switch(id){
		case R.id.send_btn:
			String phoneNum=et_phone.getText().toString();
			String content=et_content.getText().toString();
			if(TextUtils.isEmpty(content)){
				Toast.makeText(this, R.string.error_sms_content, Toast.LENGTH_SHORT).show();
			}else{
				SmsManager smsManager=SmsManager.getDefault();
				ArrayList<String> message = smsManager.divideMessage(content);
				for(int i=0;i<message.size();i++){
					smsManager.sendTextMessage(phoneNum, null,message.get(i), null, null);
				} 
				Toast.makeText(this, R.string.success_sms_content, Toast.LENGTH_LONG).show();
			}
			break;
		default:
			break;
		}
		
c.实现结果
<img width="377" height="533" style="width: 372px; height: 452px;" src="//img-blog.csdn.net/20140606102020015?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhMDkyMjI4MjY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img width="379" height="536" style="width: 335px; height: 449px;" src="//img-blog.csdn.net/20140606102024750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhMDkyMjI4MjY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118110.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2.在Ubuntu中安装 PyCharm的步骤[通俗易懂]

    2.在Ubuntu中安装 PyCharm的步骤[通俗易懂]在Ubuntu下安装PyCharm软件的详细步骤介绍

    2025年6月14日
    0
  • 单片机流水单C语言程序,51单片机流水灯C语言源程序

    单片机流水单C语言程序,51单片机流水灯C语言源程序**************************************************************文件名称:flash_led.c文件说明:流水灯C程序编写日期:2006年10月5日程序说明:MCU采用AT89S51,外接12M晶振,P1口输出*************************************************************/#in…

    2022年5月5日
    34
  • 视频的行为识别「建议收藏」

    视频的行为识别「建议收藏」1.概述使用DL方法解决视频中行为识别/动作识别的问题解决思路有三个分支:分别是two-stream(双流)方法,C3D方法以及CNN-LSTM方法。本文将从算法介绍、算法架构、参数配置、训练集预处理、算法优势及原因、运行结果六个方面对每种算法进行阐释,并对每一个分支的算法集合总结自己的心得。本文暂不区分行为识别(ActivityRecognition)与动作识别(ActionRecog…

    2022年6月9日
    39
  • 机器学习之支持向量回归(SVR)

    机器学习之支持向量回归(SVR)简介支持向量机(SupportVectorMachine)是由Vapnik等人于1995年提出来的,之后随着统计理论的发展,支持向量机SVM也逐渐受到了各领域研究者的关注,在很短的时间就得到了很广泛的应用。支持向量机是被公认的比较优秀的分类模型。同时,在支持向量机的发展过程中,其理论方面的研究得到了同步的发展,为支持向量机的研究提供了强有力的理论支撑。本实训项目主要围绕支持向量机的原理和技术进行介绍,并基于实际案例进行实战实训。线性支持向量机#encoding=utf8fromsk

    2022年6月3日
    25
  • QT配置opencv_qt调用opencv

    QT配置opencv_qt调用opencvwin10系统Qt5.9.2配置OpenCV4.5.0库教程(其中OpenCV库已经编译过的,可以直接用)Qt和opencv安装包资源云盘链接:https://pan.baidu.com/s/1stA2sQzfpiuyG8rtooJJ4A提取码:809t话不多说,配置过程如下:双击Qt的安装包一、Qt的安装点击next点击Skip设置安装路径(我是把qtCreator和opencv都安装到了Qt的文件夹下),然后点击下一步在Qt5…

    2022年9月27日
    0
  • 数据结构面试经典问题汇总及答案_数据结构基础面试题

    数据结构面试经典问题汇总及答案_数据结构基础面试题数据结构面试经典问题汇总参考资源:基础深入补充:参考资源:基础数据结构常见面试题深入数据结构面试题(三)数据结构面试必问数据结构算法常见面试考题补充:1.数组和链表的区别,请详细解释。从逻辑结构来看:a)数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。b)链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除

    2022年9月19日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号