短信发送器 图例
首先 是xml 代码 在这里我选用的 Relative Layout 布局
代码如下。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="TextView" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView1" android:layout_marginTop="20dp" android:ems="10" > <requestFocus /> </EditText> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editText1" android:layout_below="@+id/editText1" android:layout_marginTop="30dp" android:text="TextView" /> <EditText android:id="@+id/EditText01" android:gravity="top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView2" android:layout_marginTop="18dp" android:ems="10" android:lines="5" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/EditText01" android:layout_below="@+id/EditText01" android:layout_marginTop="36dp" android:text="Button" /> </RelativeLayout>
Activity 代码 首先获取 button 和手机号,短信内容
当 button 点击的时候 手机号和短信内容 添入api 发送
Activity 代码如下
package com.liwei.smms_;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
private EditText editText;
private EditText editText1;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText1);// 获取 电话号码
editText1 = (EditText) findViewById(R.id.EditText01);// 获取短信内容
button = (Button) findViewById(R.id.button1);// 获取 button按钮
button.setOnClickListener(this);// 设置点击事件 点击事件四种写法可以去看我的 博文:
// http://15035554141.iteye.com/blog/2090209
// android-电话拨号器&点击事件四种写法
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1: // 如果点击 发送时。获取 短信内容 发送号码
String a = editText.getText().toString().trim();
String b = editText1.getText().toString().trim();
if (TextUtils.isEmpty(a) || TextUtils.isEmpty(b)) {// 为空时 发出提醒
Toast.makeText(this, "什么jb", Toast.LENGTH_LONG).show();
} else {
SmsManager manager = SmsManager.getDefault();// 获取短信管理实例
ArrayList<String> str = manager.divideMessage(b);// 短信长度限制70个中文、160个英文
// 所以把短信 分成
// 不超过大小的字符串
for (String context : str) {// 循环发送
manager.sendTextMessage(a, "110", context, null, null);
// a 手机号 第二个参数 运营商不支持 , context 短信内容。 第四个参数 为 发送失败 延时发送,
// 第五个为收件人接收返回提醒
}
Toast.makeText(this, "发送成功", Toast.LENGTH_LONG).show();//发送成功
}
break;
}
}
}