短信的发送:
发送短信相当的简单,只需要几行代码,如下:
参数phoneNumber和MsgStr均是String类型,表示接收方的电话号码和短信内容
SmsManager sms = SmsManager.getDefault();
PendingIntent pi = PendingIntent.getBroadcast(this, 0, new Intent(), 0);
sms.sendTextMessage(phoneNumber, null, MsgStr, pi, null);
短信的接收:
MainActivity:
package com.amaker.sms;
import android.app.Activity;
import android.content.IntentFilter;
import android.os.Bundle;
public class MainActivity extends Activity {
//接收短信的action
public static final String MY_ACTION = "android.provider.Telephony.SMS_RECEIVED";
MyReceiver receiver = new MyReceiver();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
/**
* 注册接收短信的广播接收器
* 这里采用了动态的方式注册,也可以在AndroidManifest.xml里静态注册
*/
@Override
protected void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction(MY_ACTION);
registerReceiver(receiver, filter);
}
/**
* 取消接收短信的广播接收器
*/
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(receiver);
}
}
MyReceiver:
package com.amaker.sms;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
SmsMessage sm;
Bundle bundle = intent.getExtras();
Object[] pdus = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdus.length];
if(bundle!=null){
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
}
for(SmsMessage currentMessage:messages){
sm = currentMessage;
String number = sm.getDisplayOriginatingAddress();
String content = sm.getDisplayMessageBody();
Toast.makeText(context, number+":"+content, Toast.LENGTH_LONG).show();
}
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.amaker.sms"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
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.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
</manifest>
分享到:
相关推荐
"简单广播收发demo"是一个专为初学者设计的示例,它展示了如何创建、发送和接收广播的基本过程。下面我们将详细探讨广播的相关知识点。 1. **广播的基本概念**: 广播Intent是Android系统中的一种特殊Intent,用于...
在这个"VB_DEMO.rar_DEMO_vb 发短信_vb短信_发短信 vb_收发短信"的示例中,可能包含了一个简单的VB应用程序,演示了如何使用TaoModual_OCX控件进行短信收发。压缩包内的"www.pudn.com.txt"可能是相关教程或者说明...
Java短信猫收发短信的例子是基于Java编程语言实现的一个实用工具,主要用于与短信猫设备进行交互,实现短信的发送和接收功能。短信猫是一种硬件设备,通常通过USB或串口连接到计算机,使得电脑能够通过GSM网络发送和...
短信猫,又称为GSM Modem,是一种能够通过GSM网络收发短信和拨打电话的硬件设备。它通常连接到计算机的串行端口(COM口)或USB口,通过AT指令与软件应用程序进行通信。短信猫广泛应用于物联网、远程监控、自动化系统...
在本项目中,C#被用来创建一个应用程序,该程序能够控制短信猫,实现短信的收发功能。 在C#中,与短信猫交互通常需要以下步骤: 1. **设备连接**:首先,需要识别并连接到短信猫。这通常通过串行端口(COM口)或...
使用c#完成短信的收发。使用短信DTU,使用手机卡,可用于服务器平台的报警。*长短信:中文长度不受70汉字限制*GBK编码:支持GBK编码,发中文不需转UNICODE*跨平台:支持JAVA,提供源代码*免维护:带断电开关,可远程...
vc_demo 是一个简单的开发库测试程序 请用户注意第197行的测试端口定义和 测试速率,一般本公司出品的modem出厂 速率为115200,端口号则需要用户根据 实际情况更改
短信猫 AT 发送 接收短信 长短短信 短信猫 AT 发送 接收短信 长短短信 短信猫 AT 发送 接收短信 长短短信 一个简单的DEMO 本人测试
这些源码涵盖了建立串口连接、发送AT命令、解析响应、处理短信收发的整个流程。 3. **阿里大于**:阿里大于是阿里巴巴集团提供的云通讯服务,提供包括短信在内的多种通信功能。使用阿里大于服务,开发者可以方便地...
此外,彩信通数据库接口版3.0是一个全面的解决方案,不仅支持短信收发,还包括彩信功能,兼容多种数据库系统,如Access、MS SQL Server、Oracle和MySQL。它还提供了自动创建数据库表的脚本,使得集成过程更加简便。 ...
我们将首先介绍Android的电话API,然后讲解如何处理短信,并提供一个简单的Demo43示例来帮助理解这些概念。 **电话管理** 1. **电话API**:Android提供了PhoneStateListener接口,用于监听手机的状态变化,如通话...
飞鸽传书(IP Messenger,简称IPMSG)就是这样一款深受用户喜爱的聊天工具,它以其简单易用、快速传输的特点,在众多同类软件中脱颖而出。 飞鸽传书的主要功能是提供局域网内的即时通讯服务,特别适合在同一网络...
描述中提到,“可以收发短信,很方便”,这暗示我们这个系统可能包含了一个用户友好的界面或者API,使得短信通信的操作变得简单易行。同时,它使用了C++进行开发,C++是一种强大的、面向对象的编程语言,常用于构建...
SIM900模块是一款广泛应用于物联网、远程控制、数据传输等领域的通信模块,它支持2G网络,能够进行语音通话、短信收发以及数据传输。 描述中提到“写的比较详细,值得参考”,暗示了这个压缩包可能包含了一个详尽的...
AT命令允许设备进行数据传输、网络注册、短信收发等操作。本篇文章将详细介绍如何在Android应用中发送AT命令。 一、AT命令的基本概念 AT命令由“AT”开头,后面跟着一系列可选的参数,用于控制和查询通信设备的...
SIM900模块是GSM/GPRS模块的一种,常用于实现嵌入式设备的无线通信功能,如短信收发和数据传输。在描述中提到,这个程序是学习GPRS模块(即SIM900)如何进行TCP/IP传输的好资料,特别适合那些对单片机TCP/IP通信感...
- **GPRS**:GPRS相关实验(如主叫、被叫、短信收发等)。 - **GPS**:GPS定位实验。 通过这些实验,学生不仅可以学习到嵌入式系统的理论知识,还能亲自动手操作,加深理解,提高实际操作能力。此外,针对不同的...
- **通信功能**:许多PDA内置了电话模块,支持语音通话和短信服务,部分还具备无线网络连接,可以进行电子邮件收发和网页浏览。 - **数据存储与处理**:通过扩展插槽,PDA可以增加存储容量,同时配备计算器、文档...
### JXARM9-2410-3用户手册知识...- **GPRS相关实验**(gprs):包括主叫、被叫、短信收发等功能的实验。 以上内容详细介绍了JXARM9-2410-3教学实验系统的组成、软件配置以及实验清单,为用户提供了全面的指南和支持。