View Code
1 package com.example.flexe3; 2 3 import java.util.ArrayList; 4 5 import android.os.Bundle; 6 import android.app.Activity; 7 import android.app.PendingIntent; 8 import android.content.Intent; 9 import android.telephony.SmsManager; 10 import android.view.Menu; 11 import android.view.View; 12 import android.view.View.OnClickListener; 13 import android.widget.Button; 14 import android.widget.EditText; 15 16 /** 17 * SmsManager发短信 18 * 19 */ 20 public class MainActivity extends Activity { 21 22 private Button bt1; 23 private EditText et1; 24 private EditText et2; 25 26 @Override 27 protected void onCreate(Bundle savedInstanceState) { 28 super.onCreate(savedInstanceState); 29 setContentView(R.layout.activity_main); 30 31 bt1 = (Button)findViewById(R.id.bt1); 32 et1 = (EditText)findViewById(R.id.et1); 33 et2 = (EditText)findViewById(R.id.et2); 34 35 bt1.setOnClickListener(new OnClickListener() { 36 37 @Override 38 public void onClick(View v) { 39 String strReceiver = et1.getText().toString(); 40 String strContent = et2.getText().toString(); 41 42 //消息管理器 43 SmsManager smsManager = SmsManager.getDefault(); 44 ArrayList<String> list = smsManager.divideMessage(strContent);//超长短信分割 45 for(String msg : list){ 46 //PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0, new Intent(), 0); 47 //smsManager.sendTextMessage(strReceiver, null, msg, pi, null); 48 smsManager.sendTextMessage(strReceiver, null, msg, null, null); 49 /* 50 * sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent); 51 * 第一个参数:destinationAddress 对方手机号码 52 * 第二个参数:scAddress 短信中心号码 一般设置为空 53 * 第三个参数:text 短信内容 54 * 第四个参数:sentIntent判断短信是否发送成功,如果你没有SIM卡,或者网络中断,则可以通过这个itent来判断 55 * 。注意强调的是“发送”的动作是否成功。那么至于对于对方是否收到,另当别论 56 * 第五个参数:deliveryIntent当短信发送到收件人时,会收到这个deliveryIntent。即强调了“发送”后的结果 57 * 就是说是在"短信发送成功"和"对方收到此短信"才会激活 58 * sentIntent和deliveryIntent这两个Intent。这也相当于是延迟执行了Intent 59 */ 60 } 61 } 62 }); 63 64 } 65 66 @Override 67 public boolean onCreateOptionsMenu(Menu menu) { 68 // Inflate the menu; this adds items to the action bar if it is present. 69 getMenuInflater().inflate(R.menu.activity_main, menu); 70 return true; 71 } 72 73 }