Android的SMS push怎么使用
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍"Android的SMS push怎么使用",在日常操作中,相信很多人在Android的SMS push怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2025年02月01日Android的SMS push怎么使用
这篇文章主要介绍"Android的SMS push怎么使用",在日常操作中,相信很多人在Android的SMS push怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Android的SMS push怎么使用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
短信(SMS)Push 和 Ip push是比较常见的两种push方式。
本篇主要简单说说Sms push。
Sms push的原理:
sms push是通过发送二进制短信到移动终端,来达到通知终端的目的。客户端拦截这类短信,分析短信PDU的数据,然后采取相应的操作。push短信是通过 Wap push来承载的。其内容包括头部和数据两部分,头部中应该含有目的端口和原端口号(可类比IP报文)。
由于发送短信需要运营商的支持,比如移动的邮件推送网关(GEGW:GPRS Email Gateway),依赖性比较强。
Android客户端拦截短信处理:
客户端静态注册一个广播接收器,即使应用不在运行,广播接收器也能拦截短信。
这样当push短信下发时(监听到端口16001的数据),系统发起Intent激活广播接收器,广播接受器在其事件回调函数中进行处理
@Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (TextUtils.equals(action, "android.intent.action.DATA_SMS_RECEIVED")) { handleDataSmsReceived(context, intent); } }
在处理函数handleDataSmsReceived中,获取pdu数据并解析,了解服务器的数据发生何种变化,客户端可以进行相应处理。
简易实现代码如下:
private void handleDataSmsReceived(Context context, Intent intent) { Uri uri = intent.getData(); int port = uri.getPort();//接受端口 16001 SmsMessage[] msgs = getMessagesFromIntent(intent); String senderNumber = msgs[0].getOriginatingAddress();//短信发送方的电话号码 int type = parse(msgs)//解析 pdu的业务部分数据,根据与服务器交互的协议去解 switch(type){ //不同的情况分类处理 } }
获取的短信的方法
private static final SmsMessage[] getMessagesFromIntent(Intent intent) { Object[] messages = (Object[]) intent.getSerializableExtra("pdus"); byte[][] pduObjs = new byte[messages.length][]; for (int i = 0; i < messages.length; i++) { pduObjs[i] = (byte[]) messages[i]; } byte[][] pdus = new byte[pduObjs.length][]; int pduCount = pdus.length; SmsMessage[] msgs = new SmsMessage[pduCount]; for (int i = 0; i < pduCount; i++) { pdus[i] = pduObjs[i]; msgs[i] = SmsMessage.createFromPdu(pdus[i]); } return msgs; }
到此,关于"Android的SMS push怎么使用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
短信
数据
处理
客户
客户端
学习
广播
接收器
端口
函数
头部
方法
更多
服务器
目的
终端
部分
帮助
服务
移动
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
政治加强网络安全的重要意义
软件开发小亮
内蒙古人才数据库
学生网络安全防线
sci论文去哪个数据库
哈利波特手游几个服务器
B 数据库技术
计算机等级三级网络技术
isc2019网络安全解决方法
小学网络安全宣传知识
腾轩谊达网络技术
长沙网律互联网科技的限公司
网络安全知识竞赛答案营口
深圳中盾集团软件开发基地
服务器管理看什么书
tigr爬虫数据库
施乐c75服务器报FF
如何查看计算机dns服务器
普洱哪有软件开发定制
sql数据库查询程序
网络安全手抄抄报电脑
ff14转服务器什么时候打折
计算机网络技术怎么入门
藏宝服务器
数据库主键身份证号
华为阿里腾讯数据库哪家好
安徽服务器虚拟化多少钱
服务器管理看什么书
游戏服务器传输数据速度
Roblox服务器制作