手机显示电视节目时仍可显示短消息的方法及装置
技术领域
本发明涉及一种手机处于播放电视节目时对接入的短消息等信息的处理方法及装置,更具体地,使得用户在不中断观看电视节目的同时仍可阅读收到的短消息,即短信或WAP PUSH(中译文),或当前呼入的电话号码。
背景技术
手机电视包括模拟电视和数字电视(DVB-H,T-DMB等),将成为手机应用的一个热点。在收看精彩的电视节目时,用户不希望中断观看节目去阅读短消息,同时也不希望错过重要信息。
发明内容
本发明的目的是提供一种手机处于播放电视节目时仍能对接入的短消息等信息进行处理显示的方法和装置,该方法及装置提供用户不需要中断观看电视节目,而能将短消息的发送人、发送电话号码,短消息内容等文本信息在电视画面适当位置上显示或滚动显示。该方法及装置也适用于用户观看电视时处理WAP PUSH,或来电时显示来电人的电话号码。
本发明的技术方案如下:
根据本发明的一种手机显示电视节目时仍可显示短消息的装置,包括设置在手机上的协议栈,以及手机外围的存储设备/SIM和显示屏,特点在于,还有设在手机上通过消息联结实现通讯的逻辑模块:
短消息接收模块,电连接协议栈,并把每次收到的短消息类型标志符设置为事件“收到新的短消息”,消息体为空;
电话簿,电连接储存设备/SIM,存放短消息发送人的电话号码和/或发送人姓名,并响应查询,将消息类型标志符设置为“号码信息”,消息体包括标志电话号码是否存放在电话簿中的标志符和与号码对应的联系人姓名;
应用程序管理器,分别与该短消息接收模块和电话簿以消息通讯联结,知悉短消息接收模块发送来的事件后,判断是否进入正常处理流程还是处于电视播放过程而将消息类型标志设置为向短消息接收模块“获取短消息详细信息请求”,消息体为空;在取得发送人号码和短消息内容后再向电话簿获取“号码信息”;
电视播放控制模块,与应用程序管理模块以消息通讯联结,收到应用程序管理模块发送来的消息类型标志符设置为“收到新的消息”,消息体包括发送人姓名,发送人号码和短消息内容后,检查消息类型标志符,并进入短消息处理流程,根据消息体形成一行显示输出文本;
显示输出控制模块,电连接显示屏,并与电视播放控制模块以消息通讯联结,并计算显示文本的长度,根据文本长度与画面宽度的关系,确定一行文本处于电视画面的位置、滚动显示、显示时间、以及滚动显示次数。
进一步,所述逻辑模块,通过消息实现通讯,所述消息包括消息头和消息体;所述消息头包括消息发送者ID、消息接收者ID、消息类型标志符和消息体长度;各逻辑模块,均有一标志符和一消息列表;
所述显示输出控制模块(7)控制一行显示文本(9)在电视画面上的位置是指可位于电视画面的下边缘或上边缘、左侧边缘或右侧边缘;
所述的短消息包括短信或WAP push或当前呼入的电话号码。
根据同一总的技术构思,本发明的一种手机显示电视节目时仍可显示短消息的方法,包括步骤:
S1.短消息接收模块收到短消息后,以“收到新的短消息”事件通知应用程序管理器;
S2.应用程序管理器接收到“收到新的短消息”事件后,检查一布尔型变量标志,判断手机当前是否处于电视播放状态,若处于正常状态,便运行正常短消息处理流程;若处于电视播放状态,则执行步骤S3;
S3.应用程序管理器向短消息接收模块发送通讯消息,获取短消息的发送人号码和短消息内容;
S4.应用程序管理器从短消息接收模块获得短消息发送人号码和短消息内容后,便向电话簿发送消息,查询短消息发送人的姓名;
S5.之后,应用程序管理器向电视播放控制模块发送消息,通知收到短消息并要求对短消息进行处理;
S6.电视播放控制模块收到消息进入短消息处理流程,对该消息进行解析,构造成一行文本,然后,向显示输出控制模块发送通讯消息;
S7.显示输出控制模块接收到电视播放控制模块发送来的消息,获得显示文本,对文本的长度进行计算,并与相应画面宽度进行比较,确定文本在电视画面上适当位置上显示,以及单行显示或滚动显示,显示时间长度,滚动显示速度和滚动显示次数;
S8.最后,由显示输出控制模块将文本输出到显示屏幕上显示。
进一步,实现模块间的通讯联结的消息,包括消息头和消息体,消息头包括消息发送者ID、消息接收者ID、消息类型标志符和消息体长度;各模块均有一标志符ID和维护一自己的消息列表。
步骤S1中,短消息接收模块(2)发送消息给应用程序管理器(5),消息类型标志符设置为事件“收到新的短消息”,消息体为空。
步骤S3中,应用程序管理器向短消息接收模块获取发送号码和短消息内容,其发送消息的类型标志符设置为“获取短消息详细信息请求”,消息体为空。
步骤S4中,应用程序管理器(5)向电话簿(3)发送消息查询发送短消息的发送人姓名的过程为:应用程序管理器(5)发送的消息类型标志符设置为“查询号码信息请求”,消息体为空,并等待;而电话簿的应答消息类型标志符设置为“号码信息”,消息体包括一标志该号码在电话簿(3)中的标志符和发送人姓名,或标志该号码不电话簿内和发送人姓名字段为空。
步骤S5中,应用程序管理器向电视播放模块发送消息类型标志符设置为“收到新的短消息”,消息体包括发送人姓名、发送人号码和消息内容或包括发送人姓名字段为空,发送人号码和短消息内容。
所述一行文本之格式为(短消息)[发送人姓名]:[短消息内容]或[发送人号码]:[短消息内容]或[发送人姓名+号码]:[短消息内容]。
所述的短消息是指短信或WAP push或当前呼入的电话号码。
综上所述,本发明的优点是:使用手机观看电视节目时,当系统收到短消息(短信或收到WAP PUSH或电话)时,发送一条消息给电视播放程序,消息中包含短消息的发送人、发送电话号码,短消息内容等信息(或WAPPUSH的内容,来电号码),电视播放程序收到该消息后,在播放电视画面的同时,将短消息的发送人、发送号码,短消息内容等信息形成一行文本覆盖在电视画面的下侧(或左侧、右侧、上侧),如果内容过长则滚动显示,因此,适用本发明之手机观看电视节目,能够不中断观看电视的同时能阅读收到的短消息或WAP PUSH,或当前呼入的电话号码,不错过重要信息。
附图说明
图1为本发明使用时显示屏上显示的示意图。
图2为本发明的系统结构示意图。
图3位本发明的工作流程图。
具体实施方式
下面根据图1-图3给出本发明的一个较佳实施例,并予以详细说明,以便本技术领域的技术人员能更易于了解本发明的技术特征和功能特色,而不是用来限制本发明的保护范围。
该发明涉及的工作流程为手机处于电视播放状态,从接收到短消息开始直至形成文本显示于屏幕上,如图1所示。图2为本发明的系统结构图,列出了该实施例中所涉及的逻辑模块:短消息接收模块2,应用程序管理器5,电视播放控制模块6,显示输出控制模块7,电话簿3,以及由短消息接收模块2电连接协议栈1,电话筒3电连接存储设备/SIM 4和显示输出控制模块7连接显示屏8等相关的其他手机软硬件部分。短消息接收模块2、应用程序管理器5、电视播放控制模块6、电话簿3间通过消息来实现通讯。
请参阅图3,其为本发明的工作程序100之流程图,整个工作流程步骤如下:
S1000短消息接收模块2根据协议栈1收到短消息;
S1001短消息接收模块2将“收到新的短消息”的事件通知应用程序管理器5;
S1002收到该事件通知后,应用程序管理器5检查一布尔型变量标志,用以判断手机当前是否处在电视播放状态,如果不是1便执行S1003手机进入正常短消息处理流程(该流程决定于各手机的具体实现;
S1004如果手机处在电视播放状态,则应用程序管理器5从短消息接收模块2获取短消息的发送人电话号码和短消息内容;
S1005应用程序管理器根据发送人电话号码向电话簿3查询发送人姓名;
S1006应用程序管理器5向电视播放控制模块6发送消息以通知收到短消息1并要求处理;
S1007电视播放控制模块6收到消息后对该消息进行解析,形成一行文本9,文本格式为(短消息)[发送人姓名]:[短消息内容];
S1008由电视播放控制模块6形成的短消息文本9经显示输出控制模块7之控制,使显示屏8在显示电视画面之同时,将上述短消息文本9覆盖在电视画面上的适当处。
上述步骤1000为现有技术。
步骤1001,1004,1005,1006,1007中通过消息来实现模块间的通讯。消息包括消息头和消息体。消息头包括消息的发送者ID,消息的接收者ID,消息类型标志符和消息体长度。消息体则与具体应用相关。消息的实现机制由系统平台提供。各模块均有一标志符ID以区分和引用,即消息头中的发送者ID或接收者ID。各模块均维护一自己的消息列表,该消息列表为单向链表实现,各模块不断从链表头取出消息并作相应处理。
在发送消息时,消息发送者建立一新的消息,填写消息的各字段,并把该消息加入消息接收者的消息列表。
步骤1001中一短消息接收模块2发送消息给应用程序管理器5,并把消息类型标志符设置为事件“收到新的短消息”,消息体为空。
步骤1002中一应用程序管理器5知悉“收到新的短消息”,并进入相应处理流程,与正常处理流程相比,加入判断手机当前是否处在电视播放状态的过程。
步骤1004中,应用程序管理器5需要从短消息接收模块2获取发送电话号码和短消息内容,过程为:应用程序管理器5向短消息接收模块2发送消息,消息类型标志符设置为“获取短消息详细信息请求”,消息体为空,并等待;短消息接收模块2向应用程序管理器5发送消息,消息类型标志符设置为“短消息详细信息”,消息体包括发送电话号码和短消息内容,应用程序管理器5收到该消息后进入步骤1005。
步骤1005中,应用程序管理器5需要从电话簿3查询发送电话号码是否在电话簿3中,如果在还需了解发送人姓名。过程为:应用程序管理器5向电话簿3发送消息,消息类型标志符设置为“查询号码信息请求”,消息体为空,并等待;电话簿3向应用程序管理器5发送消息,消息类型标志符设置为“号码信息”,消息体包括一标志符和号码对应的联系人姓名,标志符标志该号码是否在电话簿3中,若不在电话簿3中时,联系人姓名字段为空,应用程序管理器5收到该消息后进入步骤1006。
步骤1006中,应用程序管理器5向电视播放控制模块6发送消息,消息类型标志符设置为“收到新的短消息”,消息体包括发送人姓名,发送人号码和短消息内容。
步骤1007中,电视播放控制模块6收到消息后,检查消息类型标志符,并进入短消息处理流程,从消息体中获取发送人姓名,发送人号码和短消息内容,再构成显示输出文本9,若消息中发送人姓名为空,则输出发送人号码。
步骤1008中一显示文本9的方法:T-DMB电视广播发送的电视画面大小为320×240,手机上文本字体为14×14,电视播放控制模块6首先计算显示文本9的长度,如果长度小于画面宽度即320,则将所有文本9显示于画面的下方中间位置,并持续10秒后消失。如果文本9长度大于画面宽度,则滚动显示:文字串从屏幕下方最右侧开始向左移动,设定一200ms的定时器,每隔200ms文字串向左移动10个像素点,直到文字串的尾部到达画面的最左侧完成一次滚动显示输出。在3次滚动显示后结束。
步骤1007和1008中,如果当前短消息显示结束前收到另一条短消息,将构造新的显示输出文本串并滚动输出,格式为:(短消息1)[发送人姓名]:[短消息内容](短消息2)[发送人姓名]:[短消息内容]...(短消息N)[发送人姓名]:[短消息内容]。对每条短消息维护一个记录已显示次数的整数值,当该值达到最大显示次数(这里为3)后将其从待显示短消息序列中去除,并重新构造输出显示输出文本串,直到显示短消息序列为空。