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 }