我正在开发一个收到信息后发送一条短信进行回复的程序(自动回复),当我的手机启动群聊程序,我的程序并没有成功的发送消息,于是我采用了如下的代码解决这个问题。
<intent-filter android:priority="500">
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
在信息发送后,我专门记录了SMS日志,但是现在 短信接收优先级高于群聊,发送的消息被写入到用户的短信记录收到的消息后,他应该展示如下日志:
Response Message
Received Message - this is what triggered the response
但是现在他展示的日志不对,如下
Received Message - triggers response
Response Message
我感觉我的程序被群聊的程序影响了,扰乱了我的程序,现在不知道该如何处理.
下面是我代码:
- context.getContentResolver().registerContentObserver(
- Uri.parse("content://sms"),
- true,
- smsObserver);
- And this class:
- private class SMSObserver extends ContentObserver
- {
- public SMSObserver()
- {
- super(null);
- }
- @Override
- public boolean deliverSelfNotifications() {
- return true;
- }
- @Override
- public void onChange(boolean selfChange) {
- super.onChange(selfChange);
- if(!selfChange)
- //sendResponse
- context.getContentResolver().unregisterContentObserver(this);
- }
- @Override
- public void onChange(boolean selfChange, Uri uri) {
- super.onChange(selfChange, uri);
- if(!selfChange)
- //sendResponse
- context.getContentResolver().unregisterContentObserver(this);
- }
- }
处理方法
尝试使用 ContentObserver 监听群聊程序发送短信时的内容,或者测试其他手机,看看是否出现相同的问题
可以采用如下代码测试
1
2
3
4
5
6
7
8
|
context.getContentResolver().registerContentObserver(Uri.parse( "content://sms" ), true , myContentObserver);
或者 cursor = context.getContentResolver().query(Uri.parse( "content://sms/inbox" ),
new String[] { SMS_ID, SMS_ADDRESS, SMS_READ },
"read = 0" ,
null ,
null );
cursor.registerContentObserver(myContentObserver); |
但我不能使用非光标版本,短信/收件箱中的某些原因。的基于游标的版本的缺点是,它似乎需要保持开放的话,那么你必须确保在以后将其关闭。
此外,无论是版本被称为读状态发生变化时。
原文地址:http://www.itmmd.com/201411/141.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。
相关推荐
使用工具Android Studio3.1.2,实现了局域网通信。任何一台设备都可在服务器与客户机之间切换,可多人群聊。只需多个队员连接到同一队长。需要源码可在我上传的资源里下载。
Android 端实现基于MQTT协议的单聊,群聊功能,,,下载了就是赚到了
有兴趣的朋友可以看看,局域网群聊,初学者入门水平
android应用源码局域网视频聊天.zip
android基于环信自定义群聊以及表情简单集成,涉及到表情键盘的流畅切换
使用Java后台,Socket方法实现android群聊(android客户端+java后台) 包括android客户端+java后台,客户端使用androidstudio开发。
安卓Android源码——HorizontalListView仿微信发起群聊.zip
Android高级应用源码-HorizontalListView仿微信发起群聊.zip
本教程含源码,资料完善,内容丰富,包括: 安卓开发环境搭建、用户注册登录、好友管理、单聊、群聊、消息发送、表情发送、发送图片、语音聊天等功能开发。 百度云盘下载。
Java开发基于SpringBoot+WebSocket+Redis分布式即时通讯群聊系统。一个基于Spring Boot + WebSocket + Redis,可快速开发的分布式即时通讯群聊系统。适用于直播间聊天、游戏内聊天、客服聊天等临时性群聊场景。 ...
项目用到了客服聊天,查了很多文档,websocket实现了双向通道协议,可以实现服务器的推送,实现单聊和群聊的功能,下载文档也是写的不全,有的还是没用的项目,我就自己看视频,查询文档,自己写的开发,群聊和单聊...
仿微信发起群聊选择好友功能,选择之后在搜索框的左侧显示选中好友的头像。如果好友过多,可以根据右侧字母进行快速定位。也可以通过输入框搜索获取。
HorizontalListView仿微信发起群聊android源码,0分下载了!
h5即时通讯源码,PHP开发的H5即时通讯聊天系统源码 带群聊 可封装APP
源码参考,欢迎下载
实现在同一个窗口实现文字群聊。和图片群发送。 服务器端: Java 客户端:Android, WP8 不过存在个问题是wp接受图片会丢失数据,接收后显示不全。如有大神解决了希望能分享一下。 实现过程中参考了...
Android集成网易云IM实现 网易云信Im的登录、 单聊和建群群聊等功能,适合新手入门网易云IM通讯
Android 仿钉钉、微信 群聊组合头像
android仿微信后台聊天