短信防火墙
来源:互联网 发布:pk10北京赛车开奖源码 编辑:程序博客网 时间:2024/05/17 22:04
注意事项:这句话被谷歌公司屏蔽,所以只能手打
<receiverandroid:name="com.example.notefirewall.SmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
特别注意:
<intent-filterandroid:priority="1000">
我们可以看到这一点,设置这个优先级的值,值域是1000到-1000
这就是我们看到的
abortBroadcast();为什么拦截没有生效,因为你的优先级比你正常的优先级低,结果就先显示了,而拦截在后面权限低所有没有出现改动。
特别注意:如果我们想让这个短信防火墙不被使用者知道,而拦截他的短信,我们可以将配置清单文件中的<intent-finter>去掉,他就没有了入口,也就意味着没有可供activity界面所展示的界面,那么我们只能在后台的文件运行管理,慎用。(这个的前提是启动过一次)
4.0版本之后,广播接收者所在的进程如果从来没有启动过。那么广播接收者是不会生效的
4.0版本之前,如果系统自动关闭广播接收者所在的进程,在action匹配时,但是用后手动关闭,就会冻结,使其无法自动开启,当用户手动打开,才会恢复。
系统发送短信广播的时候,是怎么把短信内容存入广播的,我们就只能怎么取出来
如果短信过长,那么短信发送时候会拆分成多条广播发送,那么短信广播中就会包含多条广播。
publicvoidonReceive(Context context, Intent intent) {
//TODOAuto-generated method stub
//拿到短信的信 息
//短信内容封装在intent中
Bundle bundle = intent.getExtras();
//以pdus为键,取出一个数组
Object[] objects = (Object[]) bundle.get("pdus");
//拿到广播中的所有短信
for(Object object : objects) {
//通过pdu来构造短信
SmsMessage sms = SmsMessage.createFromPdu((byte[])object);
//这条短信是来自于哪个地址的
if(sms.getOriginatingAddress().equals("138438")){
//阻止其他广播接收者收到这条广播
abortBroadcast();
//这条代码的意义是,当对方给我发送一条短信,这个设置会自动弹回去一条我设置好的信息
// SmsManager.getDefault().sendTextMessage(sms.getOriginatingAddress(), null, "你是个好人", null, null);
}
//获取短信的内容
System.out.println(sms.getMessageBody());
}
}
0 0
- 短信防火墙
- 短信防火墙
- 短信防火墙
- Android_07_短信防火墙
- broadcast receives,短信防火墙
- Android初级教程短信防火墙
- Android Broadcast 短信防火墙
- 38.android广播-短信防火墙
- 防火墙
- 防火墙
- 防火墙
- 防火墙
- 防火墙
- 防火墙
- 防火墙
- 防火墙
- 防火墙
- 防火墙
- 发送自定义广播
- 监测应用状态
- 经典算法<一>迷宫问题 2.单条路径 BFS求解 C++实现
- 监控SD卡的状态
- android 之讯飞语音接入的输出(2)
- 短信防火墙
- APP界面设计之页面布局的22条基本原则
- 广播接收者,IP拨号器,简单的描述
- 获取SQLSERVER的IP地址
- iOS runtime的理解
- 返回activity时传递数据
- 二叉树遍历,先序中序二叉树构造,BFS,完全二叉树构造
- 显示和隐式跳转
- PHP获取URL