Android 通过短信模块快捷发送短信

实现原理

点击button通过intent跳转到短信模块的activity,然后点击短信,然后利用intent传送数据到第一个activity,然后进行发送短信

知识点
  • 1.startActivityForResult和setResult 的相关知识
  • 2.发送短信的相关知识
startActivityForResult和setResult 详解
  • 1、startActivity( )

仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。

  • 2、startActivityForResult( )

可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activity,而当这个Text2Activity调用了finish()方法以后,程序会自动跳转回T1Activity,并调用前一个T1Activity中的onActivityResult( )方法。

两个页面之间数据传输(startActivityForResult)

A页面

Intent intent=new Intent(A.this,B.class);
startActivityForResult(intent,0);

B页面

Intent intent=new Intent(B.this,A.class);
intent.putExtra(key,value);
setResult(0,intent);
finish();

这里采用startActivityForResult来做跳转,此处的0为一个依据,可以写其他的值,但一定要>=0
这个依据我们可以通过重写 onActivityResult来实现,比如传输两个数据的时候可以进行判断

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
     
       if(requestCode==0){

          String s_content = data.getStringExtra("content");
          content.setText(s_content);

      }  else if(requestCode==1){
          ......
      }
        
    }
发送短信
//[1]获取发送短信的号码 和 发送的内容 
        String number = et_number.getText().toString().trim();
        String content = et_content.getText().toString().trim();
        //[2]获取到smsmanager的实例 
        SmsManager smsManager = SmsManager.getDefault();
        
        ArrayList divideMessages = smsManager.divideMessage(content);
        for (String div : divideMessages) {
            
            
            /**
             * destinationAddress  发送给谁 
             * scAddress  服务中心号码
             * 
             * text 要发送的内容
             */
            
            smsManager.sendTextMessage(number, null, div, null, null);
        }

你可能感兴趣的:(Android 通过短信模块快捷发送短信)