捕获开机启动事件后通过新线程注册ContentObserver后,仍然无法收到onChange的通知。请各位解答

问题描述

简要介绍一下这个问题产生的原因,我要实现的功能:记录向外发送的短信内容。系统提供了接收短信的事件通知“android.provider.Telephony.SMS_RECEIVED”(我在这个程序里也通过这个能力记录接收到的短信内容),但是没有提供短信发送的事件。于是我的办法是:在开机时向系统注册一个ContentObserver,用于监听"content://sms"是否发生了变化。一旦发生变化就判断是否是有新发送的短信,通过这种方式实现记录发送短信的内容。但是,我在拦截开机启动的BroadcastReceiver中注册ContentObserver一直不成功,网上查询似乎不能在BroadcastReceiver做耗时的操作,于是乎在BroadcastReceiver新开一个线程,在这个新线程中向context注册ContentObserver。真机测试注册ContentObserver成功。但是悲剧的是:虽然注册成功了,但是无论是发送和接收短信,这个ContentObserver的onChange方法一直没有被调用。有没有能提供定位的思路,先谢谢各位了。 问题补充:billyyuan 写道

解决方案

或许是因为没有写<uses-sdk android:xxxSdkVersion="x" />什么的。我上次就是因为没有写这个出了很多问题。
解决方案二:
这个我的确也想不到有什么原因。
解决方案三:
难道这款手机改了provider。 所以相当于没有监听数据库的变化。
解决方案四:
那是否是手机的问题哦。 我做的时候就是你说的这样做的,既然在模拟器上可以了,但应该你的程序也没什么问题了。
解决方案五:
是否是没有 读取权限<uses-permission android:name="android.permission.READ_SMS" />
解决方案六:
首先请你放心,这个我成功做过到,我们慢慢来,看有什么地方没有做好。

时间: 2024-10-30 01:56:51

捕获开机启动事件后通过新线程注册ContentObserver后,仍然无法收到onChange的通知。请各位解答的相关文章

linux添加开机启动项

使用chkconfig命令可以查看在不同启动级别下课自动启动的服务(或是程序),命令格式如下: chkconfig --list 可能输出如下: openvpn 0:关闭 1:开启 ...... 6:关闭 (0-6 为启动级别 ; 关闭/开启为相应级别下该服务的自动启动选项) 如果希望对自动启动选项做出改变,命令格式为: chkconfig --level x name on/off z.B. chkconfig --level 5 openvpn off 以上的命令可以查询系统可提供的服务,如

Linux上PPTP VPN的一键安装以及设置开机启动的方法

  设置pptp vpn 开机启动 有的人懒的重启后手动开启服务,所以下面我再补上开机自动启动pptp vpn 和 iptables的命令 代码如下: #chkconfig pptpd on //开机启动pptp vpn服务 #chkconfig iptables on //开机启动iptables 贴个openvz的pptp vpn 一件安装包吧:centos,fedora,redhat 6.x 使用的脚本(vps上从没安装过的可以试试这个脚本): 点击下载 代码如下: #!/bin/bash

请教异步BeginAcceptTcpClient后,系统会自动创建新线程嘛?

问题描述 在网上搜索到的资料上说引用 程序执行BeginAcceptTcpClient方法后,即在线程池中自动创建需要的线程,同时在自动创建的线程中监听客户端连接请求. 不知道是不是这样.请教大神其中的细节,或者出处.谢谢! 解决方案 解决方案二:这肯定是有误导成分的.系统级的东西是事件驱动的,哪里跟初学者一样去搞什么线程进行"死循环.阻塞.额外监听"呢.这个方法注册了回调.当系统收到消息后,才会创建(或者说使用)I/O子线程回调.解决方案三:谢谢.现在的程序如下//这是一个新线程pr

win8开机启动后黑屏解决方法

win8开机启动后黑屏解决方法   win8开机黑屏解决方法: 1.如果在电脑启动时能看到画面与windows系统的logo,但进入系统后黑屏是由于电脑系统设置的分辨率不正确,常见于笔记本重装系统后错误地设置了不支持的分辨率导致,建议外接显示器,调节到最低分辨率再进入系统. 2.若是win8开机之后一直黑屏,那么按下述方法进行排除: ①检查显示器与电脑的连接线是否紧密相连; ②拆开机箱,将内存条取出,然后清除灰尘再重新插入接口; ③若是有条件,则更换内存条,显卡,显示器,连接线,以便诊断故障所在

Windows 7开机启动后如果启动QQ IE浏览器就出现空白

  在Windows 7系统下,开机启动后如果启动QQ,IE浏览器就出现白屏,菜单栏一下全部白,打开任何网页都是空白的,并且出现,"该网页问题导致兼容性视图...........",需要等待好一会,浏览器才恢复响应. 这种情况每次都是在启动QQ后才会出现,想必应该是QQ跟IE浏览器存在冲突导致了.然后尝试卸载了最新版的QQ2013,重新安装了之前的QQ版本,但是问题还是会出现. 接着继续尝试了关闭IE浏览器的GPU硬件加速和使用SFC进行修复,未果. 后来发现如果启动QQ后,右键选择&

新毒霸怎么设置开机启动项?

  1.在下载安装新毒霸之后,进入软件主界面,发现很难找到关于开机加速或是系统启动项管理的设置部分. 其实新毒霸大部分功能都收藏在百宝箱中,我们在导航点击百宝箱. 2.进入百宝箱之后,选择新毒霸,你就会看到一个开机加速的功能按钮,点击添加 3.添加之后,打开开机加速,工具会自动扫描开机系统启动项 3.我们可以对开机启动项进行管理,可以关闭启动或是保持启动 4.同时可以点击一键加速,加速之后,会自动关闭一些无用的启动项 5.同时可以在下载进入已加速项管理,已经加速的软件和已经加速的系统组件,可以在

计算机- 求助!开机启动完毕后,无背景 无图标 无任务栏,热键失效,只有鼠标可显示移动,右击无菜单栏。

问题描述 求助!开机启动完毕后,无背景 无图标 无任务栏,热键失效,只有鼠标可显示移动,右击无菜单栏. 计算机- 求助!开机启动完毕后,无背景 无图标 无任务栏,热键失效,只有鼠标可显示移动,右击无菜单栏.-mac升级win10热键失效"> 在任务管理器内删除了一个正在运行的通讯软件程序文件(当时忘记应该先结束进程的,右键找到程序文件位置,就直接选择了粉碎文件).这时跳弹窗提示计算机将在几十秒内强制重启,弹窗内没有取消重启的按钮.重启后一直到出现xp系统启动画面都很正常,在滚动轴结束滚动应

rc local-在 rc.local 中添加shell脚本开机启动后,如果需要用到数据库,会报错,怎么解决

问题描述 在 rc.local 中添加shell脚本开机启动后,如果需要用到数据库,会报错,怎么解决 会出现这样的报错,感觉是数据库还没启动完. OperationalError: (2006, 'MySQL server has gone away') 但是已经加了非常长的延时,还是不行,开机后自己手动启动的话就不会出现在这个问题,怎么解决 解决方案 你需要放在数据库启动之后.不然你的脚本启动的时候,数据库还没有启动 解决方案二: 你明白出错的原因啊,放在数据库启动完了之后在执行这个脚本就OK

centos7 开机启动慢-centos7更新系统后开机启动变慢,怎么办?

问题描述 centos7更新系统后开机启动变慢,怎么办? 我用的Centos7的系统,自从有次不小心点了更新系统后,发现开机慢了好多,要几十秒 钟才出现登陆界面,有同学遇到相同的问题吗?