1、Android 提供一系列 API,可以是我们在自己的程序中发送和接收短信;

2、接收短信:

  1)当手机接收到一条短信时,系统会发出一条值为 android.provider.Telephony.SMS_RECEIVED 的广播,这条广播携带着与短信相关的所有信息;

  2)我们可以在自己的程序中接收到这条广播,并提取其中的数据,即为接收短信;

public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
Object[] pdus = (Object[]) bundle.get("pdus"); // 提取短信消息,每一个pdu都表示一条短信消息
SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < messages.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
String address = messages[0].getOriginatingAddress(); // 获取发送方号码
String fullMessage = "";
for (SmsMessage message : messages) {
fullMessage += message.getMessageBody(); // 获取短信内容}
sender.setText(address);
content.setText(fullMessage);
}
}

3、发送短信:

  1)Android 中通过 SmsManager 来发送,先调用 getDefault() 方法获取实例,然后调用它的 sendTextMessage() 方法来发送短信;

  2)sendTextMessage() 方法中,第一参数为收信人,第三个参数为发送的内容,第四个参数为一个 PendingIntent 对象,它用于监听短信的发送状态;

public void send() {
SmsManager manager = SmsManager.getDefault();//获取SmsManager实例
Intent intent = new Intent("SENT_SMS_ACTION");
PendingIntent pi = PendingIntent.getBroadcast(MyActivity.this, 0, intent, 0);//监听短信发送状态的PendingIntent,当短信发送完毕时发送一条值SENT_SMS_ACTION的广播
manager.sendTextMessage(to.getText().toString(), null, sendContent.getText().toString(), pi, null);//发送短信
}

最新文章

  1. asp.net mvc 各版本区别
  2. 在GridView列表中使用图片显示记录是否包含附件
  3. python_way day12 sqlalchemy,原生mysql命令
  4. Yet Another Scheme Introduction学习
  5. javascript 中 nodeValue 、value 、text 的区别
  6. 看了一本书,说可以利用Hierarchy Viewer优化布局
  7. bzoj 1085: [SCOI2005]骑士精神 IDA*
  8. iOS cocos2d安装以及问题解决
  9. JMeter 插件管理
  10. opencv+codeblocks +anaconda
  11. 每天一个linux命令(16):which
  12. JavaScript之Math
  13. 关于T/G/M/K
  14. CentOS安装openvpn报错:error: route utility is required but missing
  15. TouchEvent: dispatchTouchEvent(), onTouch() , onTouchEvent(), requestDisallowInterceptTouchEvent() 方法中的一些细节
  16. C# IIS 服务器 HTTP 错误 500.21 - Internal Server Error 解决办法
  17. 关于 Git SSH 使用的项目实践
  18. 自己从0开始学习Unity的笔记 III (C#随机数产生基础练习)
  19. [APIO / CTSC2007]数据备份 --- 贪心
  20. Differential Geometry之第七章曲面的若干整体性质

热门文章

  1. codeforces 742E (二分图着色)
  2. WCF账户密码认证
  3. tnsnames.ora配置注意(连接新的数据库)
  4. 脉冲计数功能在ESM335x-Linux主板上的实现
  5. js处理匿名函数
  6. 解决Tomcat数据连接池无法释放
  7. Spring注解@Component、@Repository、@Service、@Controller区别 .
  8. 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
  9. R语言读取excel文件的3种方法
  10. 给angularJs的service建模