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

2022-07-13 18:33:44 浏览数 (1)

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

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的点击事件:

代码语言:javascript复制
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界面

代码语言:javascript复制
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);

代码语言:javascript复制
	@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;
		}
代码语言:javascript复制
c.实现结果
代码语言:javascript复制
<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.cn/118110.html原文链接:https://javaforall.cn

0 人点赞