接收器在XML中注册,并指定数据接收类型、接收主机、接收端口
<receiver android:name=".SmsReceiver">
<intent-filter>
<action android:name="android.intent.action.DATA_SMS_RECEIVED"/>
<data android:scheme="sms" android:host="localhost"android:port="16000"/>
</intent-filter>
</receiver>
指定接受权限
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
仔细看一下provider包下的类,这些类在api中没有说明,但是一样可以使用。
//静态导入provider的内部类中的字段
import static android.provider.Telephony.Sms.Intents.DATA_SMS_RECEIVED_ACTION;
//导入provider的内部类中的内部类
import android.provider.Telephony.Sms.Intents;
继承BroadcastReceiver
public class SmsReceiver extends BroadcastReceiver {
private int port;
/**
* 当接收到短信时启动onReceive方法
* 跟通常取得短信的区别在于:
* 接收器中短信数据载体就是intent,而不是Bundle
*/
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "接收器已启动", Toast.LENGTH_SHORT).show();
String action = intent.getAction();
/**
* 判断导入动作和去的动作是否一致
* */
if(DATA_SMS_RECEIVED_ACTION.equals(action)){
Toast.makeText(context,"确认Action", Toast.LENGTH_SHORT).show();
Uri uri = intent.getData();
setPort(uri.getPort());
/**
* 通过intent取得smsMessage
* */
SmsMessage[] msgs = Intents.getMessagesFromIntent(intent);
String str = "";
for(int i=0;i<msgs.length;i++){
str += "SMS from : " + msgs[i].getOriginatingAddress();
byte[]SMSContent = msgs[i].getUserData();
str += "content : " + SMSContent.toString();
}
Toast.makeText(context,str,Toast.LENGTH_SHORT).show();
}
}
分享到:
相关推荐
应用程序需要响应接收到的短信,也叫文本信息。向外发送短信,使用SMSManager发送文字或数据短信。
AT指令接收超长短信时PDU报文格式分析,对于AT指令接收超长短息的合并具有很大的参考价值
stm32接收短信并开启继电器
使用C#调用传统32位API实现串口操作,整个结构特别的简单,完整代码,下载即可使用!
动态注册broadcastreceiver短信接受
本程序包括源代码vs2005 开发,开发语言C#,CDMA模块的测试,及发送接受短信的解析,目前还存在不足之处,请多包涵,本程序仅供学习用,误用商务。
可以同时处理短信发送,和短信接收工作 3.多个操作可以同时进行,不会产生数据遗失 4.允许读取所有电话簿,读取所有短信,读取短信数量和容量 5.允许获取模块信息,可以读取模块厂商,设备ID,IMEI,IMSI及所属网络 6....
全部免费~~ 这是最近写的‘SIM900A电话短信’ 和 ‘SIM900A发送数据到电脑服务器端’ 的两个程序。...2.数据那个程序,电脑接收端用‘花生壳搭建的域名’和‘真实IP’均能成功,具体描述均可以从代码中看见。
短信在现今的生活中起着非常重要的作用,我们每天都会使用它来进行信息的接收与发 送,为我们的沟通提供新的手段。从本质上说,其实是一种数据传输的机制,通过GSM(全 球移动通信系统)作为其传输的道路,从而实现...
该系统按手机短信的标准AT指令开发,普遍适用于各种手机。将收发短信的手机通过手机数据线接到电脑的串口,运行该软件的可执行程序即可进行接收和发送短信了。注意:手机数据线需向厂家或第三方另行购买
1、定义一个接收短信的广播:当手机接收到一条短信的时候,系统会发出一条值为android.provider.Telephony.SMS_RECEIVED 的广播,这条广播里携带着与短信相关的所有数据。 // 接收短信的广播 class ...
宠物定位软件 This is a pet location application. 该应用为一个“宠物定位"APP。 具体介绍 宠物将佩戴一个装有定位模块及GSM模块的小挂件,主人通过智能手机进行控制。...短信接收模块 接收宠物挂件
本接口程序就自动进行发送短信了,收到的短信会自动保存到数据库里,所以,您不需要了解任何有关数据通信方面的知识,就可实现发送即时短信、定时短信、循环短信、WAP PUSH短信和接收短信、超长短信等功能!...
后端(Python Flask)接收短信数据,进行垃圾短信筛选,返回Json数据给前端: 后端使用scikit-learn模块(数据挖掘和数据分析工具),通过其朴素贝叶斯算法API对短信数据进行垃圾短信的识别: 导入中文垃圾短信数据...
书友会短信发送系统由基础...该模块主要包括发送短信、短信查询、接收短信3部分。 短信投票模块 该模块主要由投票项目、投票统计两部分组成。 系统管理模块 该模块主要由用户管理、数据清理、退出系统3部分组成。
二、接收短信,把短信内容提交到数据库,或以此为条件查询数据,然后回复短信通知处理结果。 SMSDB短信应用定制平台利用手机和数据线,或GSM Modem收发短信,即装即用,除软件投资外,设备投入在千元左右,成本...
介绍用MCS_51系列单片机控制手机收发短信息的原理、硬件电路PDU数据格式和符 合GSM07.05协议要求的短信息发送/接收程序,同时给出了一个应用实例。
发短信的参考文件可以实现远程短信数据发送接收。
Android手机短信/彩信管理-包括了已接收短信修改, 进入初始页面 EntryPage,传递数据: 1 标题,即该viewtitem的名称 2 类型,短信为0,彩信为1,所有会话为2, 点击短信时 传递标题“短信”,传递0,进入...
根据"一个数据中心、一个基础平台、一套标准体系,多个业务应 用"的原则,平台建设读取原系统中发送短信功能,存放在数据库中没 有发送的短信,该平台将没有发送的短信的接收方、短信内容获取并发 送给你指定短信...