手机发送短信SMS是一个非常重要的通信功能,如果使用好短信功能,可以开发出杀手级的应用。

令开发者高兴的是,Android开发中,可以使用模拟器直接进行发送短信的测试。下面简单介绍下在Android发送短信的编程方法。

1、    在AndroidManifest.xml设置发送短信的权限。uses-permission中增加android.permission.SEND_SMS;如果需要接受短信,则还需要增加android.permission.RECEIVE_SMS;
如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="net.learn2develop.SMSMessaging"
      android:versionCode="1"
      android:versionName="1.0.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".SMS"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.SEND_SMS">
    </uses-permission>
    <uses-permission android:name="android.permission.RECEIVE_SMS">
    </uses-permission>
</manifest>

2、    编写发送短信的方法sendSMS,方法定义如下:
// 发送短信
    private void sendSMS(String phoneNumber, String message)
    {       
        String SENT = "SMS_SENT";
        String DELIVERED = "SMS_DELIVERED";
 
        PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
            new Intent(SENT), 0);
 
        PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
            new Intent(DELIVERED), 0);
 
        //监测短信发送后的处理
        registerReceiver(new BroadcastReceiver(){
            @Override
            public void onReceive(Context arg0, Intent arg1) {
                switch (getResultCode())
                {
                    case Activity.RESULT_OK:
                        Toast.makeText(getBaseContext(), "短信已发出",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                        Toast.makeText(getBaseContext(), "出现错误",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_NO_SERVICE:
                        Toast.makeText(getBaseContext(), "No service",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_NULL_PDU:
                        Toast.makeText(getBaseContext(), "Null PDU",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_RADIO_OFF:
                        Toast.makeText(getBaseContext(), "Radio off",
                                Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        }, new IntentFilter(SENT));
 
        //监测短信已传输完毕
        registerReceiver(new BroadcastReceiver(){
            @Override
            public void onReceive(Context arg0, Intent arg1) {
                switch (getResultCode())
                {
                    case Activity.RESULT_OK:
                        Toast.makeText(getBaseContext(), "SMS delivered",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case Activity.RESULT_CANCELED:
                        Toast.makeText(getBaseContext(), "SMS not delivered",
                                Toast.LENGTH_SHORT).show();
                        break;                       
                }
            }
        }, new IntentFilter(DELIVERED));       
 
        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);       
    }

Android发送短信SMS的编程相关推荐

  1. android 发送短信sms

    1 发送短信的方法: PendingIntent mpi = PendingIntent.getBroadcast(SendSMSActivity.this, 0,     new Intent(), ...

  2. android编程怎么发送,Android 发送短信程序

    搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. mButton1.setOnClickListener(new Button.O ...

  3. android发送短信的两种方式,发送长短信的两种方式,群发短信

    android 发送短信的方法 方法一:调用系统的短信APP,发送短信. Intent smsIntent = new Intent(Intent.ACTION_VIEW);smsIntent.set ...

  4. Android发送短信的两种方法

    Android发送短信代码的两种方法 Android发送短信代码的两种方法 有两种方法可以实现发送短信: 其一是使用intent-startActivity,URI数据格式为"smsto:n ...

  5. Android发送短信时 短信内容超长处理

    Android发送短信时 短信内容超长处理 一条短信只可容纳70个中文,所以当短信长度超过70个中文字符时程序就要特殊处理了. 通常有两种方式: 一.通过sendTextMessage()方法逐条依次 ...

  6. android发送短信

    使用android发送短信,需要先进行添加发送,读取短信新的权限: <uses-permissionandroid:name="android.permission.RECEIVE_S ...

  7. Android发送短信的源码

    将开发过程中经常用到的一些代码段记录起来,如下资料是关于Android发送短信的的代码. String body="this is mms demo";Intent mmsinte ...

  8. Android使用Intent发送短信SMS

    SMS全称为短讯服务(Short Messaging Service) 两种发送短信方式: 方法一.使用Intent发送短信 Intent smsIntent = new Intent();smsIn ...

  9. Android 发送短信

    一.发送短信的方法 使用 Intent 隐式调用系统短信应用进行发送 Uri uri = Uri.parse("smsto:10086");Intent it = new Inte ...

最新文章

  1. vue全局路由守卫beforeEach
  2. oracle拆分分区语法详解大全_Oracle hash的分区方法详解
  3. Oracle11g adump目录下面.aud增长导致空间撑满无法删除导致CRS无法启动的解决方法
  4. testng自定义注解
  5. SQL Server 2005 express下载地址
  6. 综合布线系统计算机网络,综合布线 计算机网络系统
  7. 在VMware上安装Ubuntu详细教程
  8. python for ArcGIS 绘制武汉市板块地图
  9. 自己动手设计一个简单的HTML网页
  10. Word如何设置单元格垂直居中
  11. 安卓系统开机时间优化分析
  12. ubuntu磁盘io性能测试工具hdparm
  13. 中忻嘉业:抖音小店怎样来做
  14. Unity之升高人物视野
  15. netcore 在centos部署时,服务启动失败,错误码145
  16. 怎样才能在技术领域走的更远?
  17. 数学物理方法·例题①数学物理方法简明教程_林福民(第一版)1.1复数与复平面例题
  18. idea将光标快速定位到开头和结尾的快捷键和设置
  19. Producing Snow CodeForces - 948C 优先队列+思维
  20. 软件构造——可维护性

热门文章

  1. mysql 加序号以及成绩单排名的几种实现方式
  2. 蓝桥杯评分标准_蓝桥杯软件设计大赛自测评分标准
  3. Python批量修改txt文件的某列数值
  4. java中的文件存储_File存储 - 文件存储
  5. 微机原理(FPGA设计CPU理解)
  6. 设计模式之十三观察者模式
  7. PAT_乙级_1001_筱筱
  8. dos2unix 解决脚本执行过程中的莫名错误 “not found”
  9. 三国群英传M玩亚服好还是台服好?服务器选择推荐
  10. 用nginx的stream转发tcp/udp请求