adnroid 监听收到的短信并根据短信内容进行回复短信
定义一个广播接收器
public class SMSReceiver extends BroadcastReceiver {
private SmsManager smsManager;
@Override
public void onReceive(Context arg0, Intent intent) {
if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
SharedPreferences sp = arg0.getSharedPreferences("MSG_SEND_RESULT", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
smsManager = SmsManager.getDefault();
Object[] pdus=(Object[])intent.getExtras().get("pdus");
SmsMessage[] message=new SmsMessage[pdus.length];
for(int i=0;i<pdus.length;i++){
message[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
String msgAddr = message[i].getDisplayOriginatingAddress();
String msgContent = message[i].getDisplayMessageBody();
//自动回复短信
String content = "";
int count = 0;
if(msgContent.trim().equals("1")){//android
content = "android";
smsManager.sendTextMessage(msgAddr, null, content, null, null);
count = sp.getInt("android", 0)+1;
editor.putInt("android", count);
editor.apply();
}else if(msgContent.trim().equals("2")){//ios
content = "ios";
smsManager.sendTextMessage(msgAddr, null, content, null, null);
count = sp.getInt("iphone", 0)+1;
editor.putInt("iphone", count);
editor.apply();
}
}
}
}
}
添加权限:
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
注册receiver
<receiver android:name="com.auto.SMSReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
adnroid 监听收到的短信并根据短信内容进行回复短信的更多相关文章
- adnroid 监听软键盘的显隐
首先注明出处,我只是想做个笔记:http://www.jb51.net/article/64820.htm 第一眼看到的时候,觉得不太可靠,因为之前都是看到这样处理的,根据监听一个根布局的size,可 ...
- SpringBoot系列——事件发布与监听
前言 日常开发中,我们经常会碰到这样的业务场景:用户注册,注册成功后需要发送邮箱.短信提示用户,通常我们都是这样写: /** * 用户注册 */ @GetMapping("/userRegi ...
- apiCloud事件发送与监听
apiCloud事件发送与监听 1.sendEvent 将任意一个自定义事件广播出去,该事件可在任意页面通过 addEventListener 监听收到. sendEvent({params}) 2. ...
- ORACLE监听理解
参考官方文档Net Services Reference的7 Oracle Net Listener Parameters (listener.ora) 1 监听概念 oracle监听,是个服务器端进 ...
- 解决如何监听Activity切换
本篇博文在我之前的博文中已经提到了,但是监听Activity切换又可以作为一个单独的内容来叙述,因此这里又单独拿了出来进行赘述. Activity的切换无非有两种,第一种:启动或者创建一个新的Acti ...
- 完美解决android软键盘监听
最近在做应用性能调优,发现在一个包含有输入框的Activity中,当软键盘弹出的时候,如果直接finish掉此Activity,那么在返回到上一个Activity时,界面的渲染会由于软键盘没有及时的收 ...
- Oracle静态监听与动态监听概念全解析
基于11g,linux5.5做出的测试,单实例数据库做出的测试. 1.注册 Instance到监听器去注册自己的Instance_name与ORACLE_HOME,还可以选择添加global_dbna ...
- 实时监听input输入内容的N种方法
现在有一个需求,需要我们实时监听input输入框中的内容,从而带来更好的用户体验,而不是等我们全部输入完毕才告诉我们格式不对首先我们创建一个input输入框 <form name='loginF ...
- 11g R2 rac linstener 监听配置
两个节点host,ipvip ,scan的信息 #eth0-Public IP 162.12.0.1 cqltjcpt1 162.12.0.3 cqltjcpt2 #eth1 PRIVAT ...
随机推荐
- CCI_chapter 19 Moderate
19 1 Write a function to swap a number in place without temporary variables void swap(int &a, i ...
- altium designer Summer09出现的问题解决方案
在编译原理图时,引脚和连线旁边出现很多红线,提示 error:signal with no driver. 原理图没有加入到Project里. 第一次导入没问题,但是改了个元件的封装,在更新一下(De ...
- 终于懂了:Delphi的函数名不是地址,取地址必须遵守Object Pascal的语法(Delphi和C的类比:指针、字符串、函数指针、内存分配等)good
这点是与C语言不一样的地方,以前我一直都没有明白这一点,所以总是不明白:函数地址再取地址算怎么回事? ------------------------------------------------- ...
- Delphi TcxTreelist 设置scrollbars 不起作用的原因
最近设置TcxTreelist的滚动条,发现水平的不起作用, 即使设置 sboth也不起作用. 查找,发现设置的一些属性导致了这个原因, 建立备忘,如下图: 1.属性, 这个页面,设置的表格,怎么也看 ...
- hdu5023--A Corrupt Mayor's Performance Art
来源:2014 ACM/ICPC Asia Regional Guangzhou Online 题意:长度为n的一个线段,1-30为颜色代号.初始状态每个单位长度颜色都为2,然后有q次操作,P操作把区 ...
- Bring it on
I am going to open a whole new English Blog here. Most blogs here would be computer technologies, in ...
- jquery href属性和click事件冲突
a标签的定义如下: <a href="javascript:void(0);">test</a> jquery中的click事件: $("a&qu ...
- 贪心-hdu-1789-Doing Homework again
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1789 题目意思: 有n个作业,每个作业有一个截止日期,每个作业如果超过截止日期完成的时候有一个惩罚值 ...
- Struts2 页面url请求怎样找action
1.我们使用最原始的方法去查找action.不同注解. struts.xml文件先配置 <!-- 新闻信息action --> <action name="newsInfo ...
- HDU1285——确定比赛名次
Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委 ...