黑马程序员技术交流社区

标题: 安卓之短信发送 [打印本页]

作者: mengxiang1993    时间: 2015-3-11 22:35
标题: 安卓之短信发送
  1. package com.example.message;

  2. import java.util.ArrayList;

  3. import android.support.v7.app.ActionBarActivity;
  4. import android.support.v7.app.ActionBar;
  5. import android.support.v4.app.Fragment;
  6. import android.telephony.SmsManager;
  7. import android.text.TextUtils;
  8. import android.util.Log;
  9. import android.os.Bundle;
  10. import android.view.LayoutInflater;
  11. import android.view.Menu;
  12. import android.view.MenuItem;
  13. import android.view.View;
  14. import android.view.View.OnClickListener;
  15. import android.view.ViewGroup;
  16. import android.widget.Button;
  17. import android.widget.EditText;
  18. import android.widget.Toast;
  19. import android.os.Build;
  20. /**
  21. * 需求:短信发送
  22. * 步骤:
  23. * 1.通过getText().toString().trim()方法获取文本框内容
  24. * 2.通过SmsManager.getDefault()方法获取SmsManager对象
  25. * 3.通过SmsManager.sendTextMessage方法发送短信
  26. * 4.添加发送短信的权限
  27. * 5.打电话,就是发送信息到端口。模拟器的端口左上角数字如:5556,就是他的端口
  28. * 6.吐司要显示必须show();
  29. * 7.当发送信息的内容长度超过70字就会崩溃,所以要分解信息发送。通过
  30. *   SmsManger.divideMessage(content);返回ArrayList<String>
  31. *   然后通过for循环遍历发送
  32. */
  33. public class MainActivity extends ActionBarActivity {

  34.         private EditText et_input_number;
  35.         private EditText et_input_content;
  36.         private Button btn_send;

  37.         protected void onCreate(Bundle savedInstanceState) {
  38.                 super.onCreate(savedInstanceState);
  39.                 setContentView(R.layout.fragment_main);
  40.                 findView();
  41.                 btn_send.setOnClickListener(new OnClickListener() {
  42.                        
  43.                         public void onClick(View v) {
  44.                                 //得到号码和发送内容
  45.                                 String number=et_input_number.getText().toString().trim();
  46.                                 String content=et_input_content.getText().toString().trim();
  47.                                 Log.i("number:", number);
  48.                                 Log.i("content:", content);
  49.                                 //判断是否为空
  50.                                 if(TextUtils.isEmpty(number)||TextUtils.isEmpty(content)){
  51.                                         Toast.makeText(MainActivity.this, "号码和发送内容不能为空", 0).show();;
  52.                                         return;
  53.                                 }else{
  54.                                         //得到发送短信的对象SmsManger
  55.                                         SmsManager message=SmsManager.getDefault();
  56.                                         //返回一个存放字符串的ArrayList对象
  57.                                         ArrayList<String> list=message.divideMessage(content);
  58.                                         //遍历集合发送
  59.                                         for(String s:list){
  60.                                         message.sendTextMessage(number, null, s, null, null);
  61.                                         }
  62.                                 }
  63.                                
  64.                         }
  65.                 });
  66.                
  67.        

  68.         }

  69.         /*
  70.          * 帮动控件
  71.          */
  72.         public void findView(){
  73.                 et_input_number=(EditText) findViewById(R.id.et_input_number);
  74.                 et_input_content=(EditText) findViewById(R.id.et_input_content);
  75.                 btn_send=(Button) findViewById(R.id.btn_send);
  76.         }
  77. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2