Android发送信息模拟系统

  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.部署应用程序到模拟器上,输入电话号码和信息,可以达到我们想要的效果。

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值