短信发送器 图例
首先 是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; } } }