Android发送短信SMS的编程
手机发送短信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的编程相关推荐
- android 发送短信sms
1 发送短信的方法: PendingIntent mpi = PendingIntent.getBroadcast(SendSMSActivity.this, 0, new Intent(), ...
- android编程怎么发送,Android 发送短信程序
搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. mButton1.setOnClickListener(new Button.O ...
- android发送短信的两种方式,发送长短信的两种方式,群发短信
android 发送短信的方法 方法一:调用系统的短信APP,发送短信. Intent smsIntent = new Intent(Intent.ACTION_VIEW);smsIntent.set ...
- Android发送短信的两种方法
Android发送短信代码的两种方法 Android发送短信代码的两种方法 有两种方法可以实现发送短信: 其一是使用intent-startActivity,URI数据格式为"smsto:n ...
- Android发送短信时 短信内容超长处理
Android发送短信时 短信内容超长处理 一条短信只可容纳70个中文,所以当短信长度超过70个中文字符时程序就要特殊处理了. 通常有两种方式: 一.通过sendTextMessage()方法逐条依次 ...
- android发送短信
使用android发送短信,需要先进行添加发送,读取短信新的权限: <uses-permissionandroid:name="android.permission.RECEIVE_S ...
- Android发送短信的源码
将开发过程中经常用到的一些代码段记录起来,如下资料是关于Android发送短信的的代码. String body="this is mms demo";Intent mmsinte ...
- Android使用Intent发送短信SMS
SMS全称为短讯服务(Short Messaging Service) 两种发送短信方式: 方法一.使用Intent发送短信 Intent smsIntent = new Intent();smsIn ...
- Android 发送短信
一.发送短信的方法 使用 Intent 隐式调用系统短信应用进行发送 Uri uri = Uri.parse("smsto:10086");Intent it = new Inte ...
最新文章
- vue全局路由守卫beforeEach
- oracle拆分分区语法详解大全_Oracle hash的分区方法详解
- Oracle11g adump目录下面.aud增长导致空间撑满无法删除导致CRS无法启动的解决方法
- testng自定义注解
- SQL Server 2005 express下载地址
- 综合布线系统计算机网络,综合布线 计算机网络系统
- 在VMware上安装Ubuntu详细教程
- python for ArcGIS 绘制武汉市板块地图
- 自己动手设计一个简单的HTML网页
- Word如何设置单元格垂直居中
- 安卓系统开机时间优化分析
- ubuntu磁盘io性能测试工具hdparm
- 中忻嘉业:抖音小店怎样来做
- Unity之升高人物视野
- netcore 在centos部署时,服务启动失败,错误码145
- 怎样才能在技术领域走的更远?
- 数学物理方法·例题①数学物理方法简明教程_林福民(第一版)1.1复数与复平面例题
- idea将光标快速定位到开头和结尾的快捷键和设置
- Producing Snow CodeForces - 948C 优先队列+思维
- 软件构造——可维护性