多语言展示
当前在线:622今日阅读:19今日分享:20

安卓应用开发实战:[8]发送短信

之前我们谈到如何激活系统的Activity拨打电话,本文则将介绍发送短信应用的编程。主要知识点是SmsManager管理器的使用。
工具/原料

eclipse

方法/步骤
1

发送短信必须在AndroidManifest.xml中添加android:name='android.permission.SEND_SMS'用于获得发送短信的权限。

2

界面大概设置成如图所示就可以了,一个输入电话号码的文本框架、一个输入短信内容的文本框、一个发送按钮、一个取消按钮(以后用到)。

3

发送短信的原理是获得系统默认的消息管理器SmsManager,调用消息管理器内部方法sendTextMessage()发送短信。到这里我们可以进行测试了。

4

当短信内容太长,上面的方法就无法发送,应该把短信内容拆分为多条短信发送。则代码修改为: public void onClick(View v) { //获得电话号码  String telNum = editTextTelNumMsg.getText().toString(); //获得短信内容 String content = editTextContent.getText().toString();  SmsManager smsManager =SmsManager.getDefault(); //自动拆分短信 ArrayList texts = smsManager.divideMessage(content); //迭代发送 for(String text:texts){ smsManager.sendTextMessage( telNum,//destinationAddress:目的电话号码 null,//scAddress:短信中心电话号码为null时使用系统默认 text, //text:短信内容 null,//sentIntent:发送状态 null//deliveryIntent:对方接收状态 ); Toast.makeText(getApplicationContext(),  '发送完成', Toast.LENGTH_SHORT).show(); } } });

5

发送短信测试1:可见发送的短信不长时,短信是不会被拆分的。

6

发送短信测试2:当我们书写的短信太长时,从接收端可以发现,接收到了几条短信,说明短信被自动拆分了。

推荐信息