zoukankan      html  css  js  c++  java
  • 利用手机中存储的*给联系人打电话与发短信

    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=" 372px; height: 452px;" src="http://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=" 335px; height: 449px;" src="http://img.blog.csdn.net/20140606102024750?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhMDkyMjI4MjY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
  • 相关阅读:
    自学编程的人,都是怎么找到自己的第一份工作的?
    自学编程的人,都是怎么找到自己的第一份工作的?
    滴滴工程师带你深入理解 TCP 握手分手全过程
    c语言之利用#if #endif来进行注释或者运行不同的主函数
    c语言之字符指针变量和字符数组的异同
    程序员自我学习自我培训指南
    海量存储之十六–一致性和高可用专题、十七
    海量存储之十四、十五
    海量存储系列之十一、十二、十三
    海量存储系列之八、九、十
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4072933.html
Copyright © 2011-2022 走看看