如何截取指定号码的短信,并且不让系统截取到通知用户
最新推荐文章于 2019-11-24 10:10:37 发布
bingtian5201
最新推荐文章于 2019-11-24 10:10:37 发布
阅读量2k
收藏
2
点赞数
3
分类专栏:
android技术
文章标签:
Android
android技术
专栏收录该内容
3 篇文章
订阅专栏
本文介绍了一种使用ContentObserver监听短信数据库变化的方法,以实现特定短信的自动标记为已读,从而避免系统通过通知栏通知用户。但作者尝试后发现此方法似乎并不奏效。
之前在做黑名单屏蔽短信的时候,遇到一个比较棘手的问题,就是我截取我指定号码的短信之后,但是我如何不让系统通过通知栏通知用户,在网上也寻找了很久,也有点眉目了,以下是别人使用 ContentObserver 来监听短信数据库变化来实现的。public class ScreenTest extends Activity { class SmsContent extends ContentObserver{ private Cursor cursor = null; public SmsContent(Handler handler) { super(handler); } /** * @Description 当短信表发送改变时,调用该方法 * 需要两种权限 * android.permission.READ_SMS 读取短信 * android.permission.WRITE_SMS 写短信 * @Author Snake * @Date 2010-1-12 */ @Override public void onChange(boolean selfChange) { // TODO Auto-generated method stub super.onChange(selfChange); //读取收件箱中指定号码的短信 cursor = managedQuery(Uri.parse("content://sms/inbox"), new String[]{"_id", "address", "read"}, " address=? and read=?", new String[]{"12345678901", "0"}, "date desc"); if (cursor != null){ ContentValues values = new ContentValues(); values.put("read", "1"); //修改短信为已读模式 cursor.moveToFirst(); while (cursor.isLast()){ //更新当前未读短信状态为已读 getContentResolver().update(Uri.parse("content://sms/inbox"), values, " _id=?", new String[]{""+cursor.getInt(0)}); cursor.moveToNext(); } } } } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); SmsContent content = new SmsContent(new Handler()); //注册短信变化监听 this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, content); } } public class ScreenTest extends Activity { class SmsContent extends ContentObserver{ private Cursor cursor = null; public SmsContent(Handler handler) { super(handler); } /** * @Description 当短信表发送改变时,调用该方法 * 需要两种权限 * android.permission.READ_SMS读取短信 * android.permission.WRITE_SMS写短信 * @Author Snake * @Date 2010-1-12 */ @Override public void onChange(boolean selfChange) { // TODO Auto-generated method stub super.onChange(selfChange); //读取收件箱中指定号码的短信 cursor = managedQuery(Uri.parse("content://sms/inbox"), new String[]{"_id", "address", "read"}, " address=? and read=?", new String[]{"12345678901", "0"}, "date desc"); if (cursor != null){ ContentValues values = new ContentValues(); values.put("read", "1"); //修改短信为已读模式 cursor.moveToFirst(); while (cursor.isLast()){ //更新当前未读短信状态为已读 getContentResolver().update(Uri.parse("content://sms/inbox"), values, " _id=?", new String[]{""+cursor.getInt(0)}); cursor.moveToNext(); } } } } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); SmsContent content = new SmsContent(new Handler()); //注册短信变化监听 this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, content); } }但是我也试了几次,似乎不奏效,不知各位有何更好想法,大家分享分享!
确定要放弃本次机会?
福利倒计时
:
:
立减 ¥
普通VIP年卡可用
立即使用
bingtian5201
关注
关注
3
点赞
踩
2
收藏
觉得还不错?
一键收藏
知道了
2
评论
分享
复制链接
分享到 QQ
分享到新浪微博
扫一扫
举报
举报
专栏目录
【Android】短信应用——短信截获
好想睡觉……
03-04
2万+
之前写过一篇关于短信截获的文章,通过注册 BroadcastReceive 来获取短信信息。
但是我发现,当装了飞信,360手机安全卫士等同样有截获短信功能的程序后,我自己的程序就截获不到短信了;而且我还发现,当安装了飞信以后,Android 系统 的Notification 中就不会再有短信提示了。
在 BroadcastReveive 中,有 abortBroadcast() 方法
发动短信内容截取方法
彦彦专栏
04-09
1791
//发送短信方法
function gbkStrSplit($string, $len = 1)
{
$length = strlen($string);
$retstr = '';
$retArr = array();
for ($i = 0; $i
$retstr .= ord($s
2 条评论
您还未登录,请先
登录
后发表或查看评论
短信截取(app保活,mvp)
07-25
该demo整体采用MVP的框架,运用了双进程守护进行了app保活,使其在锁屏状态下仍然能够读取短信
android短信截取
10-22
运行以后能拦截短息,服务是自动开机启动的。就只是一个Demo
如何截获短信
依桐的空间
05-19
2300
在simples目录下的mapirule下有例子程序。编译连接成dll,复制到手机的windows下。注意键值,如果和原来的有冲突,需要该一下。至于按怎么内容截获,看自己的安排了。具体操作,demo中写的很详细了。
Android开发获取短信的内容并截取短信
09-03
6. **处理短信内容**:一旦获取到短信内容,你可以根据需求进行各种操作,如存储短信、展示通知、截取特定内容等。在这个例子中,可能会使用`Toast`来简单显示短信内容。 ```java Toast.makeText(context, "短信...
Android短信验证码自动截取与输入演示
在探讨如何实现Android平台上截取短信验证码并自动填充到输入框的Demo之前,我们需要了解相关的知识点,包括Android的短信收发机制、服务组件Service、内容提供器Content Provider、权限管理以及如何在Android应用中...
深入理解服务发现与注册:从单体架构到微服务时代的演进
热门推荐
张彦峰的博客
02-14
168万+
本文首先回顾了服务发现与注册技术在不同系统架构时代的应用演进,分析了单体架构、SOA架构和现代微服务架构下的实现方式和挑战。随后,文章详细介绍了服务发现与注册的技术选型,并深入探讨了Eureka作为一种基于AP原则的服务注册中心的设计理念,包括其如何解决服务实例注册、剔除和信息一致性问题。接着,本文分析了Eureka的基本架构和细化结构,包括注册中心服务器、服务提供者和消费者的角色和功能。最后,文章讨论了Eureka的高可用方案、区域亲和性以及参数调优与监控策略,帮助读者更好地理解和应用这一关键技术组件来构
基于短信息业务的高校学生成绩查询系统
03-16
1. 用户端:学生用户通过手机发送特定格式的短信到系统指定的服务号码,如“学号#密码”进行成绩查询。短信内容经过编码和加密处理,确保信息安全。 2. 中心服务器:接收并解析来自用户端的短信,验证学号和密码的...
易语言移动手机发短信
07-18
易语言是一种中国本土开发的、面向初学者的编程语言,旨在降低编程的难度,让普通用户也能进行程序设计。本主题主要关注的是使用易语言实现移动手机发送短信的功能,这在许多应用场景中非常实用,如验证码发送、通知...
自动获取特定号码的验证短信中的验证码(纯数字型)
08-08
只一个按键,这个按键上面有倒计时,倒计时结束显示重新发送验证码,在倒计时进行中输入完验证码就可以点击按钮……
会自动截取收到的某特定号码的短信中的第一串数字,一般验证短信中验证码就是其中的第一串数字……
代码写得比较随意,不过注释挺全的。涉及到循环性多线程控制,多线程更改主线程UI,广播拦截短信,正则表达式等……
安卓截取短信
zyq8090的专栏
01-05
1020
需要读取短信权限:
注册广播:
开机广播与收到短信广播
之后要继承BroadcastReceiver类并重写onReceive方法:
public void onReceive(Context context, Intent
Android之短信截取
little_shengsheng的博客
06-17
1196
如果需要截取短信,如:自动获取短信中的验证码。
这里有实现方式。
1:权限:
自动截取短信验证码
wangchao1412的博客
01-21
1万+
现在很多app已经有了自动截取短信验证码的功能,更好的可以给用户好的体验感,以下我们就进行一点下短信的自动截取。
首先应该进行一下几点:
1、首先创建一个类继承自ContentObserver,类实现onChange()的方法。(onchange方法是在观察的Uri发生改变时触发)
2、在activity中注册一个内容观察者
3、在onDestroy方法中进行注销内容观察者
URDF笔记本:截取有用信息和可用信息
焦露的博客
11-24
417
参考教程 cn urdf Tutorials
1、手把手学习URDF
Create your own urdf file
2、Building a Movable Robot Model with URDF
robot_state_publisher
This package allows you to publish the state of a robot to tf. Once the s...
截取短信验证码,实现自动填写验证码
qq_22637283的博客
04-20
1万+
一个小功能实现短线验证码验自动填写功能。
拿到这个功能时,首先需要怎么去拦截获取手机短信。就用观察着来观察系统里的短消息的数据库的变化,“表“内容观察者,只要数据库发生变化,都会出发该ContentObserver 的派生类。
于是,首先需要一个SMSContentObserver的监听类:
import android.content.Context;
import android.d
android 截取验证码的两种实现方式
weixin_34237596的博客
06-11
3674
在进行手机验证码验证时,为了提升用户体验,实现自动截取验证填充的行式,实现这个功能有两种方法,分别是利用android的广播机制和android的ContentObserver实现。 第一种的实现方法如下:/** * 监听返回的验证码信息,并自动补充如验证码输入框中 [一级方法] */public BroadcastReceiver getMessageRec...