`
momoch1314
  • 浏览: 32186 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

数据短信接收

阅读更多
接收器在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();
		}
	}



分享到:
评论

相关推荐

    3.9 接收短信 & 3.10 发送短信

    应用程序需要响应接收到的短信,也叫文本信息。向外发送短信,使用SMSManager发送文字或数据短信。

    AT指令长短信接收PDU格式分析

    AT指令接收超长短信时PDU报文格式分析,对于AT指令接收超长短息的合并具有很大的参考价值

    stm32接收短信并开启继电器

    stm32接收短信并开启继电器

    C#异步数据接收串口操作

    使用C#调用传统32位API实现串口操作,整个结构特别的简单,完整代码,下载即可使用!

    动态注册broadcastreceiver短信接受

    动态注册broadcastreceiver短信接受

    CDMA 模块接收发送数据

    本程序包括源代码vs2005 开发,开发语言C#,CDMA模块的测试,及发送接受短信的解析,目前还存在不足之处,请多包涵,本程序仅供学习用,误用商务。

    TaoModual_OCX诺亚短信控件

    可以同时处理短信发送,和短信接收工作 3.多个操作可以同时进行,不会产生数据遗失 4.允许读取所有电话簿,读取所有短信,读取短信数量和容量 5.允许获取模块信息,可以读取模块厂商,设备ID,IMEI,IMSI及所属网络 6....

    STM32F103+SIM900A的短信电话/向服务器发数据

    全部免费~~ 这是最近写的‘SIM900A电话短信’ 和 ‘SIM900A发送数据到电脑服务器端’ 的两个程序。...2.数据那个程序,电脑接收端用‘花生壳搭建的域名’和‘真实IP’均能成功,具体描述均可以从代码中看见。

    单片机通过短信猫发送短信的方法

    短信在现今的生活中起着非常重要的作用,我们每天都会使用它来进行信息的接收与发 送,为我们的沟通提供新的手段。从本质上说,其实是一种数据传输的机制,通过GSM(全 球移动通信系统)作为其传输的道路,从而实现...

    串口短信收发软件

    该系统按手机短信的标准AT指令开发,普遍适用于各种手机。将收发短信的手机通过手机数据线接到电脑的串口,运行该软件的可执行程序即可进行接收和发送短信了。注意:手机数据线需向厂家或第三方另行购买

    Android创建简单发送和接收短信应用

    1、定义一个接收短信的广播:当手机接收到一条短信的时候,系统会发出一条值为android.provider.Telephony.SMS_RECEIVED 的广播,这条广播里携带着与短信相关的所有数据。 // 接收短信的广播 class ...

    AndroidPetlocationApp:这是宠物定位应用程序

    宠物定位软件 This is a pet location application. 该应用为一个“宠物定位"APP。 具体介绍 宠物将佩戴一个装有定位模块及GSM模块的小挂件,主人通过智能手机进行控制。...短信接收模块 接收宠物挂件

    863短信服务器 短信数据库接口免费(短信中间件)

    本接口程序就自动进行发送短信了,收到的短信会自动保存到数据库里,所以,您不需要了解任何有关数据通信方面的知识,就可实现发送即时短信、定时短信、循环短信、WAP PUSH短信和接收短信、超长短信等功能!...

    大学生创业项目-垃圾短信过滤APP电信诈骗识别拦截系统源码+项目说明.zip

    后端(Python Flask)接收短信数据,进行垃圾短信筛选,返回Json数据给前端: 后端使用scikit-learn模块(数据挖掘和数据分析工具),通过其朴素贝叶斯算法API对短信数据进行垃圾短信的识别: 导入中文垃圾短信数据...

    C++书友会短信发送系统(源码)

    书友会短信发送系统由基础...该模块主要包括发送短信、短信查询、接收短信3部分。  短信投票模块 该模块主要由投票项目、投票统计两部分组成。  系统管理模块 该模块主要由用户管理、数据清理、退出系统3部分组成。

    SMSDB短信应用定制平台

    二、接收短信,把短信内容提交到数据库,或以此为条件查询数据,然后回复短信通知处理结果。 SMSDB短信应用定制平台利用手机和数据线,或GSM Modem收发短信,即装即用,除软件投资外,设备投入在千元左右,成本...

    用单片机控制手机收发短信息

    介绍用MCS_51系列单片机控制手机收发短信息的原理、硬件电路PDU数据格式和符 合GSM07.05协议要求的短信息发送/接收程序,同时给出了一个应用实例。

    发短信的程序代码

    发短信的参考文件可以实现远程短信数据发送接收。

    Android短信/彩信管理-短信修改.rar

    Android手机短信/彩信管理-包括了已接收短信修改,  进入初始页面 EntryPage,传递数据:  1 标题,即该viewtitem的名称  2 类型,短信为0,彩信为1,所有会话为2,  点击短信时 传递标题“短信”,传递0,进入...

    短信平台设计方案.pdf

    根据"一个数据中心、一个基础平台、一套标准体系,多个业务应 用"的原则,平台建设读取原系统中发送短信功能,存放在数据库中没 有发送的短信,该平台将没有发送的短信的接收方、短信内容获取并发 送给你指定短信...

Global site tag (gtag.js) - Google Analytics