Android短信发送器(2)

时间:2021-01-03 20:35:23


在上一篇的《Android短信发送器》当中。发送功能并不完好。当发送内容超过限定字数时,短信就会发送失败,此时就须要推断内容是否超过限制,假设不超过限制。就直接发送,反之。则对其进行处理再发送,这就须要一个函数来对其进行切割。divideMessage()函数正好实现这个功能,其返回值为list类型,所以须要先new一个list对象。总体伪代码表演示样例如以下:

if(文本内容 < 70)
直接发送。
else
{
创建list对象,接受divideMessage(文本内容)返回值;
遍历短信内容,发送短信;
}

改动代码例如以下:

  1. //响应button单击事件
  2. @Override
  3. public void onClick(View v) {
  4. switch (v.getId()) {
  5. case R.id.button1:
  6. //获取两个editText中的内容
  7. String num = et_num.getText().toString().trim();
  8. String content = et_content.getText().toString().trim();
  9. //若号码或内容为空就发出警告
  10. if (TextUtils.isEmpty(num)||TextUtils.isEmpty(content))
  11. Toast.makeText(this, R.string.warning1, 1).show();
  12. else
  13. {   //获取短信管理器。导入包Android.telephony.SmsManager
  14. SmsManager sm = SmsManager.getDefault();
  15. List<String> contents = sm.divideMessage(content);
  16. for(String sms:contents)  //遍历短信内容
  17. //系统发送短信API
  18. sm.sendTextMessage(num, null, content, null, null);
  19. }
  20. break;
  21. default:
  22. break;
  23. }
  24. }