android中可以通过两种方式调用接口发送短信
2023-06-13 09:14:45 时间
第一:调用系统短信接口直接发送短信;主要代码如下:
//直接调用短信接口发短信
SmsManagersmsManager=SmsManager.getDefault();
List<String>divideContents=smsManager.divideMessage(content);
for(Stringtext:divideContents){
smsManager.sendTextMessage("150xxxxxxxx",null,text,sentPI,deliverPI);
}
第二:调起系统发短信功能;主要代码如下:
Uriuri=Uri.parse("smsto:10010");
Intentit=newIntent(Intent.ACTION_SENDTO,uri);
it.putExtra("sms_body","102");
activity.startActivity(it);
这里主要讲解第一种方法,其中大部分信息来源于互联网:
获取短信管理器
SmsManagersmsManager=SmsManager.getDefault();
拆分短信内容(手机短信长度限制)
List<String>divideContents=smsManager.divideMessage(content);
发送拆分后的内容
List<String>divideContents=smsManager.divideMessage(content);
for(Stringtext:divideContents){
smsManager.sendTextMessage("150xxxxxxxx",null,text,sentPI,deliverPI);
}
处理返回的发送状态
StringSENT_SMS_ACTION="SENT_SMS_ACTION";
IntentsentIntent=newIntent(SENT_SMS_ACTION);
PendingIntentsentPI=PendingIntent.getBroadcast(context,0,sentIntent,
0);
//registertheBroadcastReceivers
context.registerReceiver(newBroadcastReceiver(){
@Override
publicvoidonReceive(Context_context,Intent_intent){
switch(getResultCode()){
caseActivity.RESULT_OK:
Toast.makeText(context,
"短信发送成功",Toast.LENGTH_SHORT)
.show();
break;
caseSmsManager.RESULT_ERROR_GENERIC_FAILURE:
break;
caseSmsManager.RESULT_ERROR_RADIO_OFF:
break;
caseSmsManager.RESULT_ERROR_NULL_PDU:
break;
}
}
},newIntentFilter(SENT_SMS_ACTION));
处理返回的接收状态
StringDELIVERED_SMS_ACTION="DELIVERED_SMS_ACTION";
//createthedeilverIntentparameter
IntentdeliverIntent=newIntent(DELIVERED_SMS_ACTION);
PendingIntentdeliverPI=PendingIntent.getBroadcast(context,0,
deliverIntent,0);
context.registerReceiver(newBroadcastReceiver(){
@Override
publicvoidonReceive(Context_context,Intent_intent){
Toast.makeText(context,
"收信人已经成功接收",Toast.LENGTH_SHORT)
.show();
}
},newIntentFilter(DELIVERED_SMS_ACTION));
发送短信的参数说明
smsManager.sendTextMessage(destinationAddress,scAddress,text,sentIntent,deliveryIntent)
--destinationAddress:目标电话号码
--scAddress:短信中心号码,测试可以不填
--text:短信内容
--sentIntent:发送-->中国移动-->中国移动发送失败-->返回发送成功或失败信号-->后续处理即,这个意图包装了短信发送状态的信息
--deliveryIntent:发送-->中国移动-->中国移动发送成功-->返回对方是否收到这个信息-->后续处理即:这个意图包装了短信是否被对方收到的状态信息(供应商已经发送成功,但是对方没有收到)。
相关文章
- 加密狗android,Android系统加密狗的设计与实现
- android开机动画多长时间_Android开机动画原理分析
- strictmode android,(十三)Android 性能优化 StrictMode
- rime android汉字,Rime输入法
- android 获取收到短信验证码,Android自动获取短信验证码
- android-短信验证功能,Android实现获取短信验证码的功能以及自定义GUI短信验证详解…
- android 验证码短信验证码,Android短信验证码倒计时验证的2种常用方式
- android toast全屏,Android Toast实现全屏显示
- Android angle_android 界面悬停
- Android preference_android studio preview
- android activitymanager 系统api_Android view
- android进程间通信的方式_Android进程注入
- android ANR产生原因和解决办法
- 【Android RTMP】RTMP 数据格式 ( FLV 视频格式分析 | 文件头 Header 分析 | 标签 Tag 分析 | 视频标签 Tag 数据分析 )
- 【Android 应用开发】Google 官方 EasyPermissions 权限申请库 ( 简介 | 权限申请处理细节 | 添加依赖 | 界面权限申请结果处理 | 权限申请结果回调接口 )
- 【Java 虚拟机原理】动态字节码技术 | Dalvik & ART 虚拟机 | Android 字节码打包过程
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 注入工具收尾操作 | 关闭注入的动态库 | 恢复寄存器 | 脱离远程调试附着 )
- 【ijkplayer】编译 Android 版本的 ijkplayer ⑥ ( 进入 ijkplayer-android/android 目录 | 执行 compile-ijk.sh 脚本完成编译 )
- android Universal Image Loader for Android 说明文档 (1)详解手机开发
- Android版Office本月将推出“文件卡”功能
- android九宫格滑动解锁开机实例源码学习
- android自定义Android菜单背景的代码
- android手机SD卡读写操作(以txt文本为例)实现步骤
- 解析Android应用启动后自动创建桌面快捷方式的实现方法
- android,不显示标题的方法小例子
- android横竖屏限制的配置方法
- android图库播放幻灯片时按power键灭屏再亮屏显示keyguard
- android接收到蓝牙配对请求时如何点亮屏幕具体实现
- 基于Android扫描sd卡与系统文件的介绍
- Android中实现Runnable接口简单例子
- Android提高之TelephonyManager功能探秘
- Android提高之MediaPlayer播放网络音频的实现方法