android 开发,视频群聊引发短信异常
我正在开发一个收到信息后发送一条短信进行回复的程序(自动回复),当我的手机启动群聊程序,我的程序并没有成功的发送消息,于是我采用了如下的代码解决这个问题。
<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人?整理发布,转载须标明出处。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。