实现原理
点击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<String> divideMessages = smsManager.divideMessage(content);
for (String div : divideMessages) {
/**
* destinationAddress 发送给谁
* scAddress 服务中心号码
*
* text 要发送的内容
*/
smsManager.sendTextMessage(number, null, div, null, null);
}