付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】Android中怎么实现SMS短信服务
本篇文章给大家分享的是有关Android中怎么实现SMS短信服务,在下觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着在下一起来看看吧。Android
API支持开发可以发送和接收SMS消息的应用程序。目前我们开发过程中使用的Android模拟器还不支持发送SMS,但它可以接收SMS。现在我们来探索一下Android对SMS的支持,我们将会构建一个小小的应用程序来监听移动设备(或模拟器)上接收到的SMS消息,并将它显示出来。我们来定义一个Intent接收器来处理Android
SMS短信服务接收事件:package
com.wissen.sms.receiver;
/**
*
该类将在SMS接收的时候被调用
*/
public
class
SMSReceiver
extends
BroadcastReceiver
{
@Override
public
void
onReceive(Context
context,
Intent
intent)
{
//
TODO
}
}
package
com.wissen.sms.receiver;
/**
*
该类将在SMS接收的时候被调用
*/
public
class
SMSReceiver
extends
BroadcastReceiver
{
@Override
public
void
onReceive(Context
context,
Intent
intent)
{
//
TODO
}
}我们需要对这个Intent接收器进行配置以使它能获取Android
SMS短信服务接收事件,‘
vider.Telephony.SMS_RECEIVED’这个事件状态表示了SMS已被接收。我们可以在AndroidManifest.xml中进行如下配置:<
receiver
android:name=”.receiver.SMSReceiver”
android:enabled=”true”>
<
intent-filter>
<
action
android:name=”vider.Telephony.SMS_RECEIVED”
/>
<
/intent-filter>
<
/receiver>
<
receiver
android:name=”.receiver.SMSReceiver”
android:enabled=”true”>
<
intent-filter>
<
action
android:name=”vider.Telephony.SMS_RECEIVED”
/>
<
/intent-filter>
<
/receiver>
<
receiver
android:name=”.receiver.SMSReceiver”
android:enabled=”true”>
<
intent-filter>
<
action
android:name=”vider.Telephony.SMS_RECEIVED”
/>
<
/intent-filter>
<
/receiver>
<
receiver
android:name=”.receiver.SMSReceiver”
android:enabled=”true”>
<
intent-filter>
<
action
android:name=”vider.Telephony.SMS_RECEIVED”
/>
<
/intent-filter>
<
/receiver>
为了能让我们的应用能接收Android
SMS短信服务,我们得先进行权限的指定,可以在AndroidManifest.xml中如下配置:<
uses-permission
android:name=”android.permission.RECEIVE_SMS”>
<
/uses-permission>
<
uses-permission
android:name=”android.permission.RECEIVE_SMS”>
<
/uses-permission>
<
uses-permission
android:name=”android.permission.RECEIVE_SMS”>
<
/uses-permission>
<
uses-permission
android:name=”android.permission.RECEIVE_SMS”>
<
/uses-permission>
现在,我们的Intent接收器就可以在Android设备接收到SMS的时候被调用了,余下的事情就是去获取和显示接收到的SMS消息文本了:public
void
onReceive(Context
context,
Intent
intent)
{
Bundle
bundle
=
intent.getExtras();
Object
messages[]
=
(Object[])
bundle.get(”pdus”);
SmsMessage
smsMessage[]
=
new
SmsMessage[messages.length];
for
(int
n
=
0;
n
<
messages.length;
n++)
{
smsMessage[n]
=
SmsMessage.createFromPdu((byte[])
messages[n]);
}
//
show
first
message
Toast
toast
=
Toast.makeText(context,
“Received
SMS:
”
+
smsMessage[0].getMessageBody(),
Toast.LENGTH_LONG);
toast.show();
}
public
void
onReceive(Context
context,
Intent
intent)
{
Bundle
bundle
=
intent.getExtras();
Object
messages[]
=
(Object[])
bundle.get(”pdus”);
SmsMessage
smsMessage[]
=
new
SmsMessage[messages.length];
for
(int
n
=
0;
n
<
messages.length;
n++)
{
smsMessage[n]
=
SmsMessage.createFromPdu((byte[])
messages[n]);
}
//
show
first
message
Toast
toast
=
Toast.makeText(context,
“Received
SMS:
”
+
smsMessage[0].getMessageBody(),
Toast.LENGTH_LONG);
toast.show();
}
public
void
onReceive(Context
context,
Intent
intent)
{
Bundle
bundle
=
intent.getExtras();
Object
messages[]
=
(Object[])
bundle.get(”pdus”);
SmsMessage
smsMessage[]
=
new
SmsMessage[messages.length];
for
(int
n
=
0;
n
<
messages.length;
n++)
{
smsMessage[n]
=
SmsMessage.createFromPdu((byte[])
messages[n]);
}
//
show
first
message
Toast
toast
=
Toast.makeText(context,
“Received
SMS:
”
+
smsMessage[0].getMessageBody(),
Toast.LENGTH_LONG);
toast.show();
}
public
void
onReceive(Context
context,
Intent
intent)
{
Bundle
bundle
=
intent.getExtras();
Object
messages[]
=
(Object[])
bundle.get(”pdus”);
SmsMessage
smsMessage[]
=
new
SmsMessage[messages.length];
for
(int
n
=
0;
n
<
messages.length;
n++)
{
smsMessage[n]
=
SmsMessage.createFromPdu((byte[])
messages[n]);
}
//
show
first
message
Toast
toast
=
Toast.makeText(context,
“Received
SMS:
”
+
smsMessage[0].getMessageBody(),
Toast.LENGTH_LONG);
toast.show();
}
Android设备接收到的SMS是以pdu形式的(protocol
description
unit)。android.telephony.gsm.SmsMessage这个类可以储存SMS的相关信息,我们也可以从接收到的pdu中创建新的SmsMessage实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026国冶一局集团有限公司(中国冶金地质总局一局)高等院校应届毕业生招聘33人笔试参考题库附带答案详解
- 2026中国通服福建公司秋季校园招聘若干人笔试参考题库附带答案详解
- 2026中国广核集团校园招聘启动笔试历年难易错考点试卷带答案解析
- 2025青岛上合产投控股集团有限公司公开招聘(14人)笔试历年典型考点题库附带答案详解
- 2025陕西川承实业集团招聘(27人)笔试历年常考点试题专练附带答案详解
- 2025重庆新华出版集团有限公司总法律顾问招聘1人笔试参考题库附带答案详解
- 2025重庆农投良食品集团有限公司招聘1人笔试参考题库附带答案详解
- 2025辽宁交投集团所属运营公司招聘30人笔试历年常考点试题专练附带答案详解2套试卷
- 2025贝特瑞新材料集团股份有限公司招聘5人笔试参考题库附带答案详解
- 2025福建福州路信公路设计有限公司第二批招聘3人笔试参考题库附带答案详解
- 无人机内部培训课件模板
- 2025-2026学年北京市昌平区高三(上期)期末考试英语试卷(含答案)
- 2026年新广西安全员a证考试试题及答案
- 质检部门员工安全培训
- 合同法讲座课件
- 2026年及未来5年市场数据中国多旋翼无人机行业市场全景调研及投资规划建议报告
- 扁鹊凹凸脉法课件
- 足浴店入股合同协议书
- JJF(石化) 001-2023 漆膜耐洗刷试验仪校准规范
- 【百思特】华为手机品牌变革历程研究白皮书
- 专项 记叙文阅读(附答案)八年级语文下册期中测试专项训练(全国版)
评论
0/150
提交评论