本教程是安卓开发的经典教程,通过七天的实战训练,可以使你获得真实的安卓软件开发经验,快速掌握安卓应用的开发,分享你的安卓应用,第一天为熟悉并且制作主界面九宫格...
之前我们谈到如何激活系统的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<String> 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:当我们书写的短信太长时,从接收端可以发现,接收到了几条短信,说明短信被自动拆分了。
步骤阅读END
安卓应用开发实战:[8]发送短信,之前我们谈到如何激活系统的Activity拨打电话,本文则将介绍发送短信应用的编程.主要知识点是SmMaager管理器的使用.
本教程是安卓开发的经典教程,通过七天的实战训练,可以使你获得真实的安卓软件开发经验,快速掌握安卓应用的开发,分享你的安卓应用,第一天为熟悉并且制作主界面九宫格...
天[LV.8]以坛为家I 图书试读 图书名称: 《Android 应用开发实战(第二版)》 作者名称... 235 18.1.6 获取通话记录 / 237 18.2 短信和彩信 / 239 18.2.1 通过系统程序发送短信 / 239 ...