IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]02_android入门_实现短信/彩信发送的功能

    redarmy_chen发表于 2014-05-21 21:07:45
    love 0

    一、短息发送实现要点:

    1)必须要在AndroidManifest.xml中添加发送短信权限

    2)查找控件:findViewById(R.id.控件id);

    3)监听按钮事件:控件.setOnClickListener(this),实现OnClickListener接口

    4)获取editText里的值:getText();


    二、发送短信思路:

    1) 获取短信号码及内容

    2) 判断短信号码及内容是否为空

    3) 获取短息的管理器对象

    3) 如果你的字符数大于了70自动拆分处理

    4) 发送短信的处理


    三、实现效果





    以上 有短信和彩信的效果图

    下面具体看一下短信实现的代码:

    1.布局文件中所需要的字符串资源string.xml

    
    
        lesson02
        Hello world!
        Settings
        请输入您要发送的手机号码
        请输入您要发送的信息内容
        输入短息的信息
        发送短信
        您发送的短信号码或者短信内容不能为空
    

    2.布局文件 activity_sms.xml

    
        
        
        
        
        
        
        
        
        
        
        
       
        
        

    3.SmsActivity代码

    package com.example.lesson02_sms;
    
    import java.util.ArrayList;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.telephony.SmsManager;
    import android.text.TextUtils;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class SmsActivity extends Activity implements OnClickListener{ 
    	//声明控件
    	private EditText et_phone;
    	private EditText et_content;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		//设置显示的视图
    		setContentView(R.layout.activity_sms);
    		//获取控件对象
    		et_phone = (EditText) findViewById(R.id.et_phone);
    		et_content = (EditText) findViewById(R.id.et_sms_content);
    		//获取按钮的控件对象
    		Button send_btn = (Button) findViewById(R.id.send_btn);
    		//注册监听事件
    		send_btn.setOnClickListener(this);
    	}
    
    	/**
    	 * 按钮点击事件处理的方法
    	 */
    	@Override
    	public void onClick(View v) {
    		//获取控件的id值
    		 int id =  v.getId();
    		 //根据id判断点击的控件
    		 switch (id) {
    			case R.id.send_btn:
    				//获取短信号码
    				 String phone =  et_phone.getText().toString();
    				 //获取短信的内容
    				 String content = et_content.getText().toString();
    				 //判断短信号码和内容是否为空
    				 if(TextUtils.isEmpty(phone)||TextUtils.isEmpty(content)){
    					 //吐司效果
    					 Toast.makeText(this,R.string.error_sms_content, Toast.LENGTH_SHORT).show();
    				 }else{
    					 //获取短息的管理器对象
    					 SmsManager smsManager = SmsManager.getDefault();
    					 
    					 //如果你的字符数大于了70就开始拆了.
    					 ArrayList smscontents =  smsManager.divideMessage(content);
    					 
    					 //遍历发送信息
    					 for(int i=0;i

    4.项目清单文件AndroidManifest.xml

    
    
    
        
    
        
        
    
        
            
                
                    
                    
                
            
         
    
    


    对于发彩信的实现,主要是调用系统的意图来实现的,下面贴出activity中主要实现代码:希望同学们自己实现一下.

                                   //获取外部存储文件目录
    				File file = Environment.getExternalStorageDirectory();//目录要通过类的方法获取
    				//创建意图
    				Intent intent = new Intent(Intent.ACTION_SEND);
    				//创建附带数据
    				intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+file.getPath()+"/DCIM/Camera/20140502_112359.jpg"));
    				//发送的地址
    				intent.putExtra("address", "13103120533");
    				//发送主题
    				intent.putExtra("subject", "it's subject");
    				//发送内容
    				intent.putExtra("sms_body", "it's content");
    				//发送的类型
    				intent.setType("image/jpeg"); 
    				//执行意图
    				SmsImgActivity.this.startActivity(intent);


    以上代码仅供参考......



沪ICP备19023445号-2号
友情链接