自动更新用户界面通知消息语言的方法及电子设备转让专利

申请号 : CN201310719103.9

文献号 : CN103702293B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘广宾

申请人 : TCL集团股份有限公司

摘要 :

在本发明实施例提供的自动更新用户界面通知消息语言的方法中,在监测到操作系统的语言发生变化且用户界面通知条上存在显示的历史通知消息时,主动获取历史通知消息的属性信息并生成新的通知消息,以新的通知消息更新所述用户界面通知条上显示的历史通知消息,从而实现历史通知消息的语言和系统当前语言相一致。本发明实施例可以解决现有技术中存在的通知消息语言无法随着系统语言切换而自动切换的技术问题,可以及时的传递通知消息,有效地增强了用户体验。

权利要求 :

1.一种自动更新用户界面通知消息语言的方法,其特征在于,所述方法包括以下步骤:监测操作系统的语言变化情况;

在所述操作系统的语言改变后,查询用户界面通知条上是否存在显示的历史通知消息;

若存在显示的历史通知消息,则获取所述历史通知消息的属性信息;

根据所述属性信息以及系统当前语言生成新的通知消息;

以所述新的通知消息更新所述用户界面通知条上显示的历史通知消息;

所述根据属性信息以及系统当前语言生成新的通知消息具体包括:根据所述属性信息以及系统当前语言生成通知对象,所述通知对象中包括通知标识信息和Remote View对象;

在系统用户界面的通知列表中查询是否存在所述通知对象中的标识信息;

若存在,则根据所述通知对象中的Remote View对象构建新的通知消息。

2.如权利要求1所述的方法,其特征在于,所述方法还包括:若在所述通知列表中不存在所述通知对象中的标识信息,则结束通知消息语言的更新过程。

3.如权利要求1所述的方法,其特征在于,所述监测操作系统的语言变化情况的步骤具体包括:在操作系统启动后,向操作系统注册语言切换监测器,所述语言切换监测器用于在系统语言发生变化时,生成语言切换广播。

4.如权利要求1所述的方法,其特征在于,

所述通知消息的属性信息包括通知消息的发送者以及资源标识。

5.如权利要求1所述的方法,其特征在于,在所述监测操作系统的语言变化情况之前还包括:接收应用程序发出的通知消息,在操作系统用户界面的通知条上显示所述通知消息。

6.一种自动更新用户界面通知消息语言的电子设备,其特征在于,包括:语言监测单元,用于监测操作系统的语言变化情况;

通知查询单元,用于在所述操作系统的语言改变后,查询用户界面通知条上是否存在显示的历史通知消息;

通知属性获取单元,用于若存在显示的历史通知消息,则获取所述历史通知消息的属性信息;

通知生成单元,用于根据所述属性信息以及系统当前语言生成新的通知消息;

通知更新单元,用于以所述新的通知消息更新所述用户界面通知条上显示的历史通知消息;

所述通知生成单元具体包括:

通知对象生成模块,用于根据所述属性信息以及系统当前语言生成通知对象,所述通知对象中包括通知标识信息和Remote View对象;

标识查询模块,用于在系统用户界面的通知列表中查询是否存在所述通知对象中的标识信息;

通知消息构建模块,用于若存在所述通知对象中的标识消息,则根据所述通知对象中的Remote View对象构建新的通知消息。

7.如权利要求6所述的电子设备,其特征在于,所述通知消息的属性信息包括通知消息的发送者以及资源标识。

8.如权利要求7所述的电子设备,其特征在于,还包括:通知消息显示单元,用于在所述语言检测单元监测操作系统的语言变化情况之前接收应用程序发出的通知消息,在操作系统用户界面的通知条上显示所述通知消息。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述方法的步骤。

10.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任意一项所述方法的步骤。

说明书 :

自动更新用户界面通知消息语言的方法及电子设备

技术领域

[0001] 本发明属于通信技术领域,尤其涉及一种自动更新用户界面通知消息语言的方法及电子设备。

背景技术

[0002] 目前,Android系统的系统用户界面(System UI)提供的通知条是用来显示系统或者应用的一些及时通知,如某个视频应用APP下载某部影片的百分比、后台QQ应用推送的及时消息、天气应用的天气通知,用户可以点击通知条上的通知进入发送通知的应用界面。现有技术中的通知模块既能起到快捷操作的效果同时也能及时显示后台应用发送的通知信息,是Android系统一个非常重要的功能模块。
[0003] 但是,现有技术中应用发出来的通知通过Notification Manager Service(通知管理服务)传递到System UI的通知条上显示后,如果系统的语言配置发生改变,通知条上的信息内容不再发生变化。
[0004] 例如,当系统语言由英语环境切换到中文环境时,System UI通知条上的历史消息还是英文状态,给用户带来系统不够智能的感觉,并且也影响了通知信息的及时传递。

发明内容

[0005] 本发明的目的在于提供一种自动更新用户界面通知消息语言的方法及电子设备,旨在解决现有技术中存在的通知消息语言无法随着系统语言切换而自动切换的技术问题。
[0006] 本发明是这样实现的,一种自动更新用户界面通知消息语言的方法,所述方法包括以下步骤:
[0007] 监测操作系统语言变化情况;
[0008] 在所述操作系统语言改变后,查询用户界面通知条上是否存在显示的历史通知;
[0009] 若存在显示的历史通知,则获取所述历史通知的属性信息;
[0010] 根据所述属性信息以及系统当前语言生成新的通知消息;
[0011] 以所述新的通知消息更新所述用户界面通知条上显示的历史通知。
[0012] 本发明的另一目的在于提供一种自动更新用户界面通知消息语言的电子设备,所述电子设备包括:
[0013] 语言监测单元,用于监测操作系统的语言变化情况;
[0014] 通知查询单元,用于在所述操作系统的语言改变后,查询用户界面通知条上是否存在显示的历史通知消息;
[0015] 通知属性获取单元,用于若存在显示的历史通知消息,则获取所述历史通知消息的属性信息;
[0016] 通知生成单元,用于根据所述属性信息以及系统当前语言生成新的通知消息;
[0017] 通知更新单元,用于以所述新的通知消息更新所述用户界面通知条上显示的历史通知消息。
[0018] 在本发明实施例提供的自动更新用户界面通知消息语言的方法中,在监测到操作系统的语言发生变化且用户界面通知条上存在显示的历史通知消息时,主动获取历史通知消息的属性信息并生成新的通知消息,以新的通知消息更新所述用户界面通知条上显示的历史通知消息,从而实现历史通知消息的语言和系统当前语言相一致。本发明实施例可以解决现有技术中存在的通知消息语言无法随着系统语言切换而自动切换的技术问题,可以及时的传递通知消息,有效地增强了用户体验。

附图说明

[0019] 图1是本发明第一实施例提供的自动更新用户界面通知消息语言的方法的实现流程示意图。
[0020] 图2为本发明第二实施例提供的自动更新用户界面通知消息语言的方法的应用场景图;
[0021] 图3为本发明第二实施例提供的自动更新用户界面通知消息语言的方法的具体流程图;
[0022] 图4为本发明第三实施例提供的自动更新用户界面通知消息语言的电子设备的结构示意图;
[0023] 图5为本发明第三实施例提供的自动更新用户界面通知消息语言的电子设备中通知生成单元的结构示意图。

具体实施方式

[0024] 为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0025] 请参阅图1,图1为本发明第一实施例提供的自动更新用户界面通知消息语言的方法的实现流程,其包括以下步骤:
[0026] 在步骤S101中,监测操作系统的语言变化情况。
[0027] 在本发明实施例中,电子设备在启动后监测操作系统的语言变化情况。其中,监测过程具体通过如下方式来实现:在系统启动后,向操作系统注册语言切换监测器,所述语音切换监测器用于在系统语言发生变化时,生成语言切换广播。
[0028] 在步骤S102中,在所述操作系统的语言改变后,查询用户界面通知条上是否存在显示的历史通知消息;
[0029] 在本发明实施例中,在用户切换电子设备的系统语言,即所述操作系统的语言改变后,查询用户界面通知条上是否存在显示的历史通知消息,例如遗留的USB设备挂载信息。若存在,则执行步骤S103,否则结束本流程,操作系统会在后续生成通知消息时,改变通知消息的语言。
[0030] 在步骤S103中,若存在显示的历史通知消息,则获取所述历史通知消息的属性信息;
[0031] 在本发明实施例中,若查询存在显示的历史通知消息,则电子设备进一步获取历史通知消息的属性信息,以便于重新生成通知消息。
[0032] 其中,通知消息的属性信息包括通知消息的发送者(例如应用名称)以及资源标识。在获取上述属性信息后,执行步骤S104。
[0033] 在步骤S104中、根据所述属性信息以及系统当前语言生成新的通知消息。
[0034] 在本发明实施例中,电子设备根据获取的属性信息以及系统的当前语言生成新的通知消息。
[0035] 具体的,电子设备根据获取的属性信息以及系统当前语言环境生成通知对象,所述通知对象中包括通知标识信息(Key)和Remote View对象。在生成通知对象后,电子设备还在系统用户界面的通知列表中查询是否存在所述通知对象中的标识信息,即判断上述通知消息是否已经从系统通知条中删除(系统可能随时删除历史通知消息)。
[0036] 若没有删除该历史通知消息,即通知列表中存在所述通知对象中的标识信息,则根据所述通知对象中的Remote View对象构建新的通知消息。若系统当前已经删除了上述通知消息,即在所述通知列表中不存在所述通知对象中的标识信息,则结束上述通知消息语言的更新过程。
[0037] 本发明实施例在生成新的通知消息后,执行以下步骤S105。
[0038] 在步骤S105中,以所述新的通知消息更新所述用户界面通知条上显示的历史通知消息。
[0039] 在本发明实施例中,电子设备在生成新的通知消息后,以新的通知消息更新用户界面通知条上显示的历史通知消息,从而实现历史通知消息的语言和系统当前语言相一致。
[0040] 在本发明实施例提供的自动更新用户界面通知消息语言的方法中,在监测到操作系统的语言发生变化且用户界面通知条上存在显示的历史通知消息时,主动获取历史通知消息的属性信息并生成新的通知消息,以新的通知消息更新所述用户界面通知条上显示的历史通知消息,从而实现历史通知消息的语言和系统当前语言相一致。本发明实施例可以解决现有技术中存在的通知消息语言无法随着系统语言切换而自动切换的技术问题,可以及时的传递通知消息,有效地增强了用户体验。
[0041] 为进一步理解本发明实施例,下面给出本发明实施例自动更新用户界面通知消息语言的方法的具体应用场景。请参阅图2-3,图2为本发明第二实施例提供的自动更新用户界面通知消息语言的方法的应用场景图,图3为本发明第二实施例提供的自动更新用户界面通知消息语言的方法的具体流程图。
[0042] 其中,操作系统中安装了多个应用程序(APP),System UI和通知管理服务(Notification Manager Service,NNS)随android系统开机启动,System UI首先向NMS注册(跨进程通信),当NMS接收到通知时,NMS能及时通知System UI。应用发出的通知消息(跨进程通信)通过NMS传递到System UI的通知条上显示。
[0043] NMS对通知消息的处理流程包括以下步骤:
[0044] 在步骤S201中,NMS接收到应用发送的通知消息,根据通知的信息初始化通知对象、Remote View。
[0045] 在本发明实施例中,NMS根据通知信息获取通知发送者的信息、资源ID然后再根据当前语言环境重新构建Notification对象、Remote View对象,构建后回调System UI通知更新。
[0046] 在步骤S202中,System UI根据通知对象判断该通知消息是否已经存在。
[0047] 在本发明实施例中,根据传递过来的Notification对象中的Key在System UI的通知列表中查询是否存在,若存在,则说明存在历史通知消息,则执行步骤S203,更新历史通知消息;否则,则说明该通知消息为新的通知消息,执行步骤S204,增加新的通知消息在用户界面上显示。
[0048] 上述步骤S201-S204执行完毕后,应用程序的通知消息显示在操作系统的通知条上。若用户切换了操作系统的语音环境,则本发明实施例执行以下切换通知消息语言的流程(如图3所示)。
[0049] 在步骤S205中,NMS收到System UI发送的语言切换广播,然后执行步骤S206。
[0050] 在步骤S206中,NMS查询当前还在System UI显示的历史通知消息,若不存在显示的历史通知消息,则说明不需要更新通知消息的语言,结束本流程。如存在显示的历史通知消息,则需要执行通知消息的语言更新过程,执行步骤S207。
[0051] 在步骤S207中,NMS获取历史通知消息的属性信息,根据当前语言环境和通知消息的属性信息重新构建Notification对象、Remote View对象。
[0052] 其中,Remote View对象是Notification对象的成员。NMS构建好Notification对象后回调(通知)System UI(跨进程通信),回调时将Notification对象传递给System UI,System UI收到更新命令时,启动更新流程,执行步骤S208。
[0053] 在步骤S208中,System UI根据传递过来的Notification对象中的Key在System UI的通知列表中查询是否存在。
[0054] 在本发明实施例中,如果查询Key不存在,则执行步骤S210,结束本流程。如果存在,则说明需要对通知消息的语言进行更新,执行步骤S290。
[0055] 在步骤S209中,System UI重新构建通知条上的View,将构建好的View更新至通知条上。
[0056] 其中,System UI根据传递过来的Notification对象中的Remote View对象重新构建通知View(在老View的基础,不删除老View),在构建完成后,再将通知View更新至System UI的通知条上,从而达到系统语言切换后自动更新System UI通知条上通知View语言的效果。
[0057] 与现有技术相比,本发明实施例在系统环境语言切换后,System UI通知条上的通知也自动更新语言,从而给用户起到非常智能的效果,非常及时和友好的传递通知信息,有效的增强了用户体验。
[0058] 请参阅图4,图4为本发明第三实施例提供的自动更新用户界面通知消息语言的电子设备的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。
[0059] 所述自动更新用户界面通知消息语言的电子设备包括:
[0060] 语言监测单元100,用于监测操作系统的语言变化情况;
[0061] 通知查询单元200,用于在所述操作系统的语言改变后,查询用户界面通知条上是否存在显示的历史通知消息。
[0062] 通知属性获取单元300,用于若存在显示的历史通知消息,则获取所述历史通知消息的属性信息;其中,所述通知消息的属性信息包括通知消息的发送者以及资源标识。
[0063] 通知生成单元400,用于根据所述属性信息以及系统当前语言生成新的通知消息。
[0064] 通知更新单元500,用于以所述新的通知消息更新所述用户界面通知条上显示的历史通知消息。
[0065] 在本发明实施例中,语言监测单元100在监测到操作系统的语言发生变化且通知查询单元200在查询到用户界面通知条上存在显示的历史通知消息时,通知属性获取单元300主动获取历史通知消息的属性信息并由通知生成单元400生成新的通知消息,通知更新单元500以新的通知消息更新所述用户界面通知条上显示的历史通知消息,从而实现历史通知消息的语言和系统当前语言相一致。本发明实施例可以解决现有技术中存在的通知消息语言无法随着系统语言切换而自动切换的技术问题,可以及时的传递通知消息,有效地增强了用户体验。
[0066] 进一步参见图4,在本发明实施例三提供的自动更新用户界面通知消息语言的电子设备还包括:
[0067] 通知消息显示单元,用于在所述语言检测单元100监测操作系统的语言变化情况之前接收应用程序发出的通知消息,在操作系统用户界面的通知条上显示所述通知消息。在本发明实施例中,通知消息显示单元可以显示操作系统中应用程序发出的通知消息,便于提醒用户。
[0068] 结合图4和图5,在本发明实施例三提供的自动更新用户界面通知消息语言的电子设备中,所述通知生成单元400具体包括:
[0069] 通知对象生成模块401,用于根据所述属性信息以及系统当前语言生成通知对象,所述通知对象中包括通知标识信息和Remote View对象;
[0070] 标识查询模块402,用于在系统用户界面的通知列表中查询是否存在所述通知对象中的标识信息;
[0071] 通知消息构建模块403,用于若存在所述通知对象中的标识消息,则根据所述通知对象中的Remote View对象构建新的通知消息。
[0072] 本发明实施例三提供的自动更新用户界面通知消息语言的电子设备可以使用在前述实施例一、二提供的自动更新用户界面通知消息语言的方法中,详情参见上述实施例的相关描述,在此不再赘述。
[0073] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
[0074] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。