首先,先创建一个安卓项目(我的版本号是4.4.2的),名字为"短信发送器"

然后在res目录下找到layout目录,找到activity_main.xml或fragment_main.xml,在里面输入或拖拽button

<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="com.csdn.sms.MainActivity$PlaceholderFragment" > <TextView
android:id="@+id/pl_input_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/please_input_number"
android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText
android:id="@+id/input_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/pl_input_number"
android:layout_marginTop="22dp"
android:ems="10"
android:inputType="phone" /> <TextView
android:id="@+id/pl_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/input_number"
android:layout_below="@+id/input_number"
android:layout_marginTop="47dp"
android:text="@string/dx_content"
android:textAppearance="? android:attr/textAppearanceLarge" /> <EditText
android:id="@+id/content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/pl_content"
android:layout_below="@+id/pl_content"
android:layout_marginTop="22dp"
android:ems="10"
android:inputType="textMultiLine" > <requestFocus />
</EditText> <Button
android:id="@+id/dx_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/content"
android:layout_below="@+id/content"
android:layout_marginTop="64dp"
android:text="@string/dx_send" /> </RelativeLayout>

最后在src下的java文件中MainActivity.java

package com.csdn.sms;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.text.TextUtils;
import android.view.Menu;
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 { private Button dx_send;
private EditText dx_content, dx_number; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main); dx_content = (EditText) this.findViewById(R.id.content);
dx_number = (EditText) this.findViewById(R.id.input_number);
dx_send = (Button) this.findViewById(R.id.dx_send); //第一种方法:通过点击事件来完毕
dx_send.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) { switch (v.getId()) {
case R.id.dx_send: String content = dx_content.getText().toString().trim();
String number = dx_number.getText().toString().trim(); if (TextUtils.isEmpty(content) || TextUtils.isEmpty(number)) {
Toast.makeText(MainActivity.this, "电话号码不能为空",
Toast.LENGTH_SHORT).show();
return;
} else {
// 短信管理器
SmsManager smsManager = SmsManager.getDefault();
// 假设超过字数限制,则自己主动拆分短信
ArrayList<String> c = smsManager.divideMessage(content);
for (String str : c) {
smsManager.sendTextMessage(number, null, str, null,
null);
}
}
break; } }
});
}
//另外一种:通过让该类实现 OnClickListener接口来重写方法完毕,和上面点击方法的内容是一样的 @Override
public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu);
return true;
} }

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTI2Mzk2Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

最新文章

  1. SandcastleBuilder-生成帮助文档的时候报错...
  2. try 返回前执行fianlly
  3. BZOJ 1803 Query on a tree III
  4. C#winform MDI子窗体打开时内容显示不全
  5. iOS App Transport Security
  6. System V 机制(转)
  7. Java学习——何为JNDI
  8. html基础加强2
  9. Java Jar包压缩、解压使用指南
  10. Unity3d导出场景地图寻路
  11. Gson反序列化Map,整型自动转换为浮点型
  12. 用户未登录或Session超时时重定向到登录页,不那么简单
  13. Building real-time dashboard applications with Apache Flink, Elasticsearch, and Kibana
  14. Linux实践:ELF文件格式分析
  15. TOJ2811: Bessie&#39;s Weight Problem(完全背包)
  16. 利用RGB-D数据进行人体检测 带dataset
  17. StringBuffer与StringBuilder差别
  18. Python错误和异常 学习笔记
  19. 微信小游戏 50M那部分的缓存机制的使用
  20. POJ:1182 食物链(带权并查集)

热门文章

  1. MFC中利用GDI+进行双缓冲作图的有关设置
  2. jquery 添加列
  3. [转] sql server 跨数据库调用存储过程
  4. POJ 2240 Arbitrage(判正环)
  5. TP中上传文件图片的实现
  6. Question: Should I use reads with good quality but failed-vendor flag?--biostart for vendor quality
  7. Codeforces Round #394 (Div. 2) A,B,C,D,E
  8. 日志_测试代码_Delphi7
  9. Java的封装性、继承性和多态性
  10. 【Python】解决测试依赖之 Mock模块的基本使用