Android系统中已经有了我们熟悉并常用的发送信息功能,在程序中叫做已经有了此Activity,那么有时候我们需要在编写Android程序时调用此应用程序以实现通过我们的程序发送信息。具体实现方式如下:

  1. 建立xml布局文件,最终效果如下:

    

  2.在Activity中编写代码实现功能

import java.util.ArrayList;import android.os.Bundle;import android.widget.*;import android.app.Activity;import android.telephony.SmsManager;import android.view.Menu;import android.view.View;/** @author:fanchangfa*/public class MainActivity extends Activity {    private EditText number;    private EditText content;    private Button send;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                /*         * 初始化工作:         *     文本框和按钮         * */        number = (EditText) this.findViewById(R.id.txt_number);                content = (EditText) this.findViewById(R.id.txt_content);                send = (Button) this.findViewById(R.id.btn_send);                send.setOnClickListener(new sendListener());            }        private final class sendListener implements View.OnClickListener{        public void onClick(View v)        {            //获取电话号码和短信内容            String sms_number = number.getText().toString();            String sms_content = content.getText().toString();                        //获取发送信息的默认实例            SmsManager sms_manager = SmsManager.getDefault();                        /*短信默认一条允许发送70个汉字,因此调用divideMessage方法对内容进行分割             *             * */            ArrayList<String> txts = sms_manager.divideMessage(sms_content);                        //短信分割后执行此循环分批发送信息            for(String txt : txts)            {                /*                 * 第一个参数:要发送的手机号码                 * 第二个参数:短信中心参数(null:系统默认的中心地址)                 * 第三个参数:短信内容                 * 第四个参数:回执状态(是否发送成功)                 * 第五个参数:可以得到对方是否收到信息状态                 *                  * 第四、五个参数通过移动网络返回的电信号获得                 * 可以采用异步方式处理                 * 需要用到只是:广播接受者                 * */                sms_manager.sendTextMessage(sms_number, null, txt, null, null);            }            
        //在此没有判断是否发送成功,可以通过广播接受者,以及更进一步的输入等判断,可自己进一步实现。 Toast.makeText(MainActivity.
this, "发送成功", Toast.LENGTH_SHORT); } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; }}

  3. 和前一篇拨打电话一样,需要加入发送信息的权限才可以执行此功能,在AndroidMainfest.xml文件中加入如下权限:

  

 <uses-permission android:name="android.permission.SEND_SMS" />

  4.部署应用程序到模拟器上,输入电话号码和信息,可以达到我们想要的效果。

  

更多相关文章

  1. Android(安卓)设置TextView自动调整字体大小
  2. openfire+asmack搭建的安卓即时通讯(四) 15.4.10
  3. Android网络架构之———OkHttp+Volley+Gson
  4. 利用Xposed Hook打印Java函数调用堆栈信息的几种方法
  5. ThreadPoolExecutor 快速实际应用
  6. Android(安卓)自定义View(四) 时钟clockView
  7. 2013.09.04——— android Location 过滤最佳的位置
  8. 详解Android提交数据到服务器的两种方式四种方法
  9. Android(安卓)Vibrator的使用

随机推荐

  1. Android系统自带样式(android:theme)详解
  2. android 资源引用
  3. android ImageView的属性android:scaleTy
  4. android在Gridview实现Textview跑马灯效
  5. android知识点记录
  6. Android实现LIstView条目单选和多选Radio
  7. Android(安卓)GridLayout 的 columnSpan
  8. android button 透明背景色
  9. android 文本走马灯代码
  10. Android(安卓)使用 TableLayout 布局拉伸