在自己的应用增加发短信功能有两种方式:

1,跳转到系统短信页面发送,调用如下代码即可。

Intent intent = new Intent(Intent.ACTION_SENDTO, Uri

.parse("smsto:" + telnum));

// 如果需要将内容传过去增加如下代码

intent .putExtra("sms_body", body);  
        startActivity(intent);

2,调用系统发短信接口sendTextMessage。activity如下:

布局文件就是两个输入框和一个发送按钮。

AndroidManifest.xml需要权限
<uses-permission android:name="android.permission.SEND_SMS" />

public class MainTestActivity extends Activity {

private static final String SENT_SMS_ACTION = "demo_sms_send_action";
private static final String KEY_PHONENUM = "phone_num";
private EditText mPhoneNumberEdit;
private EditText mContentEdit;
private Button mSendBtn;
protected Context mContext;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_test);
mContext = this;;
mPhoneNumberEdit = (EditText) findViewById(R.id.phonenumber);
mContentEdit = (EditText) findViewById(R.id.content);
mSendBtn = (Button) findViewById(R.id.send);
mSendBtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
String phone = mPhoneNumberEdit.getText().toString().trim();
String content = mContentEdit.getText().toString().trim();
if (TextUtils.isEmpty(phone) && TextUtils.isEmpty(content)) {
Toast.makeText(mContext, "input message!", Toast.LENGTH_LONG).show();
return;
}
sendSMS(phone,content);
}

});

//注册短信发送状态的广播

mReceiver = new SMSSendResultReceiver();
IntentFilter filter = new IntentFilter(SENT_SMS_ACTION);
registerReceiver(mReceiver, filter);
}

/** 
* 直接调用短信接口发短信    如果群发可以循环调用
* @param phoneNumber 
* @param message 
*/  
public void sendSMS(String phoneNumber,String message){  
//获取短信管理器   
android.telephony.SmsManager smsManager = android.telephony.SmsManager.getDefault();  
//拆分短信内容(手机短信长度限制)    
List<String> divideContents = smsManager.divideMessage(message);
Intent itSend = new Intent(SENT_SMS_ACTION);  
itSend.putExtra(KEY_PHONENUM, phoneNumber);  
PendingIntent sentPI = PendingIntent.getBroadcast(getApplicationContext(), 0, itSend, PendingIntent.FLAG_UPDATE_CURRENT);
for (String text : divideContents) {    
smsManager.sendTextMessage(phoneNumber, null, text, sentPI, null);    
}

}

SMSSendResultReceiver mReceiver;

// 监听短信发送状态

class SMSSendResultReceiver extends BroadcastReceiver  
{  
@Override  
public void onReceive(Context context, Intent intent)  
{  
if (SENT_SMS_ACTION.equals(intent.getAction())) {
String phoneNum = intent.getStringExtra(KEY_PHONENUM);  
switch(getResultCode())  
{

case Activity.RESULT_OK:

// 发送成功

Toast.makeText(context, "Send Message to "+phoneNum+" success!", Toast.LENGTH_LONG).show();  
break;  
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:  
case SmsManager.RESULT_ERROR_RADIO_OFF:  
case SmsManager.RESULT_ERROR_NULL_PDU:

default:

// 发送失败

Toast.makeText(context, "Send Message to "+phoneNum+" fail!", Toast.LENGTH_LONG).show();    
break;  
}  
}
}
}

@Override
protected void onDestroy() {
super.onDestroy();
if (mReceiver != null) {
unregisterReceiver(mReceiver);
}
}

}

sendTextMessage的参数说明:

public void sendTextMessage(String destinationAddress,

String scAddress, String text,PendingIntent sentIntent, PendingIntent deliveryIntent)

destinationAddress: 收件人地址

scAddress: 短信中心号码,null为默认中心号码

sentIntent: 当消息发出时,成功或者失败的信息报告通过PendingIntent来广播。如果该参数为空,则发信程序会被所有位置程序检查一遍,这样会导致发送时间延长。

deliveryIntent: 当消息发送到收件人时,该PendingIntent会被广播。pdu数据在状态报告的extended data ("pdu")中。

Android 发短信功能实现相关推荐

  1. android 自动发彩信,Android编程实现定时发短信功能示例

    本文实例讲述了Android编程实现定时发短信功能.分享给大家供大家参考,具体如下: 第一,要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中 ...

  2. android+发短信示例,Android编程实现定时发短信功能示例

    本文实例讲述了Android编程实现定时发短信功能.分享给大家供大家参考,具体如下: 第一,要实现发短信的功能,必须要用到android系统中发短信的权限,即在AndoridManifest.xml中 ...

  3. 小程序短信验证码登录,1分钟实现小程序发短信功能,借助云开发10行代码实现短信验证码登录小程序

    老规矩先看效果图 普通短信 验证码短信 今天被云开发官方告知,云开发支持发短信功能了,然后就迫不及待的来尝下鲜. 进入官方文档一看,云开发给咱们开发者的福利还真不小. 不仅仅可以很方便的使用短信功能, ...

  4. 苹果七绕过基带激活2020_苹果研发无信号发短信功能

    据外媒报道,苹果最近停止了一个极好的项目开发,该项目原本是指苹果与英特尔合作开发的新技术,可以让iPhone绕过蜂窝网络的远程无线电波,在手机无服务的情况下与其他iPhone互发短信.类似于对讲机,只 ...

  5. iOS调用系统发短信功能详解

    iOS调用系统的发短信功能可以分为两种:1,程序外调用系统发短信.2,程序内调用系统发短信.第二种的好处是用户发短信之后还可以回到app.这对app来说非常重要. 程序外调用系统发短信 这个方法其实很 ...

  6. 前端H5唤起手机打电话(拨号)和发短信功能

    1.拨打电话 2.发送短信 3.移动web页面自动探测电话号码 4.使用wtai协议进行拨打电话 5.关于微信页面出现屏蔽的情况,采用以下解决方案 在移动端页面,有时候我们需要唤起用户手机的打电话功能 ...

  7. H5唤起手机打电话(拨号)和发短信功能

    H5唤起手机打电话(拨号)和发短信功能 拨打电话 发送短信 移动web页面自动探测电话号码 使用wtai协议进行拨打电话 关于微信页面出现屏蔽的情况,采用以下解决方案 在移动端页面,有时候我们需要唤起 ...

  8. Java实现阿里云发短信功能

    一 点睛 1 阿里云短信开发文档 https://helpcdn.aliyun.com/document_detail/55284.html 2 阿里云AK申请 https://usercenter. ...

  9. iOS开发之系统发短信功能详解

    iOS调用系统的发短信功能可以分为两种:1,程序外调用系统发短信.2,程序内调用系统发短信.第二种的好处是用户发短信之后还可以回到app.这对app来说非常重要. 程序外调用系统发短信 这个方法其实很 ...

  10. Android安卓——实现发短信功能的代码

    本处给出的是简单的发短信的笼统代码过程,可根据自己的知识,结合起来进行完善. 在配置文件中给权限配置 <uses-permission android:name="android.pe ...

最新文章

  1. swift - 根试图控制器的手势返回冲突 - push 新的tabbar控制器手势冲突
  2. Linux系统安装Appach 2.4.6
  3. 只有对经过自己努力才得到的东西,我才会高兴。
  4. 猫影视接口相关及短网址
  5. c语言指针测试代码,一个关于C语言指针的测试
  6. java安装错误咋办_win7系统安装Java出现错误的解决方法
  7. win10安装虚拟机vm遇到的坑
  8. win10安装jdk
  9. 知识图谱可视化工具选型
  10. 愿你与生活交手多年,依然满怀新鲜,
  11. 基于CCS工程MSP430串口升级(二)
  12. 1058. 选择题(20)-PAT乙级真题
  13. NTC热敏电阻基础以及应用和选择(转)
  14. 高中科幻作文关于计算机,高中科幻作文(精选5篇)
  15. 基于LSTM网络的视觉识别研究与实现——详细版
  16. 利用selenium实现淘宝双十一抢购商品
  17. Altera FPGA基本开发流程
  18. 电脑端如何访问手机SD卡中的文件
  19. [cx32] jlink烧录脚本使用
  20. 茶云导航网站源码v1.2 PHP带后台管理

热门文章

  1. java分布式文件存储服务实战
  2. iredmail邮件服务器安装流程
  3. AI语音合成软件免费的有哪些?常用的语音合成软件
  4. 高效使用Chrome搜索精准内容
  5. Google安装鼠标手势插件方法
  6. windows设置tomcat守护进程
  7. XP同步时间服务器地址
  8. DLL编写中extern “C”和__stdcall的作用
  9. Android语音识别-阿里语音识别
  10. 双目测距算法matlab模拟,基于BM算法的双目测距.pdf