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

我感觉我的程序被群聊的程序影响了,扰乱了我的程序,现在不知道该如何处理.

下面是我代码:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

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人 整理发布,转载须标明出处。

时间: 2024-11-03 21:32:11

android 开发,视频群聊引发短信异常的相关文章

Android开发之属于你的短信验证码(二)

君子欲讷于言而敏于行.-<论语> 最近身体有点不适,才注意到身体真的是最重要的,以后不管我们有多忙,一定要按时休息,坚持跑步,锻炼身体,做些颈椎的操等等,不要让我们挣的钱拿来看病,大家一起来坚持啊,不要让年轻蒙蔽了我们的双眼. 在Android开发之属于你的短信验证码(一)我们主要讲了聚合数据,以及使用聚合数据开发短信验证码的准备工作及配置,这一篇我们将带来完整的功能的实现,以及界面UI的实现.如有谬误欢迎批评指正,如有疑问欢迎留言,谢谢 首先我们来看下界面第一个界面 我们在这个界面输入手机号

Android开发之属于你的短信验证码(一)

不飞则已,一飞冲天;不鸣则已,一鸣惊人---------司马迁 最近工作又有新需求,要求用户在注册的时候需要通过手机验证码,这样做的目的是防止用户通过一个邮箱来随便的注册,那么好,今天我们就 一起来学习一下Android中的短信验证码这一个知识点.如有谬误,欢迎批评指正,如有疑问欢迎留言,谢谢 在说这个知识点前,我们首先来了解下聚合数据 一.聚合数据介绍 聚合数据是一家国内最大的基础数据API提供商,专业从事互联网数据服务.免费提供从天气查询.空气质量.地图坐标到金融基金.电商比价.违章查询等各

Android开发,URI 如:发短信,发彩信,调用通讯录等

一.直接拨打电话,与三不同的是,这个直接拨打电话,而不是打开拨号界面 Uri uri = Uri.parse("tel:10086"); Intent intent = new Intent(Intent.ACTION_CALL, uri); 二.打开拨号界面,类型是Intent.ACTION_DIAL Uri uri = Uri.parse("tel:10086"); Intent intent = new Intent(Intent.ACTION_DIAL, uri); 三.打开一个网页,类

基于Kurento的WebRTC移动视频群聊技术方案

说在前面的话:视频实时群聊天有三种架构: Mesh架构:终端之间互相连接,没有中心服务器,产生的问题,每个终端都要连接n-1个终端,每个终端的编码和网络压力都很大.群聊人数N不可能太大. Router架构:终端之间引入中心服务器,学名MCU(Multi Point Control Unit),每个终端的视频流都发布到MCU服务器上,然后服务器负责编码发布多视频流的工作,减轻客户端的压力. Mix架构:在Router架构基础上,多个视频流在服务器端被合为一个视频流,减轻网络压力. 下面讲我们的选择

html5开发手机打电话发短信功能,html5的高级开发,html5开发大全,html手机电话短信功能详解

在很多的手机网站上,有打电话和发短信的功能,对于这些功能是如何实现的呢.其实不难,今天我们就用html5来实现他们.简单的让你大开眼界. HTML5 很容易写,但创建网页时,您经常需要重复做同样的任务,如创建表单.在这...有 HTML5 启动模板.空白图片.打电话和发短信.自动完成等等,帮助你提高开发效率的同时,还带来了更炫的功能.好了,我们今天就来做一做看看效果吧!! 看代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitio

Android从普通发送和接收短信到对短信进行拦截

概述: 说实话,关于Android中对短信的一些相关操作是一个比较入门的东西.那我现在还要来写这一篇博客的原因只是因为现在开发中有相关内容,而又想将这些东西分享给更多的人来学习,同时在以后对Android系统的短信进行其他学习的时候也就放在这里做一个记录了,于是就写了这篇啰嗦的文章.如果你觉得这是一个不错的东西,欢迎收藏,以便在以后更方便地查看本人在此篇文章中更新的内容.下面我就从标题中的三个方面来对Android系统中的短信操作进行一个简单地学习. 短信的发送 由于Android中对短信发送方

android中调用系统的发送短信、发送邮件、打电话功能

1 调用发送短信功能: Uri smsToUri = Uri.parse("smsto:"); Intent sendIntent = new Intent(Intent.ACTION_VIEW, smsToUri); sendIntent.putExtra("address", "123456"); //电话号码,这行去掉的话,默认就没有电话 sendIntent.putExtra("sms_body","短信内容

Android黑科技,读取用户短信+修改系统短信数据库

安卓系统比起ios系统最大的缺点,相信大家都知道,就是系统安全问题.这篇博客就秀一波“黑科技”. 读取用户短信 Android应用能读取用户手机上的短信,相信已经不是什么新鲜事,比如我们收到的短信验证码,一些app马上就能自动获取并填上验证码,省去我们手动填写验证码.原理就是通过Android的ContentProvider组件间接访问系统的短信数据库,获取所有短信内容.下面来演示一下. 布局很简单,如下: 代码如下: public class MainActivity extends Acti

深度分析:Android中Mms设置页面更改短信中心号码流程

相关控件初始化方法:showSmscPref private void showSmscPref() { int count = MSimTelephonyManager.getDefault().getPhoneCount(); boolean airplaneModeOn = Settings.System.getInt(getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) != 0; for (int i = 0; i < c