本发明专利技术适用于计算机领域,提供了一种Android系统的语言更新方法及装置。所述方法包括:接收service启动指令后,创建显示页面的实例;显示所述显示页面的实例对应的显示页面;判断当前语言环境是否发生改变;在当前语言环境发生改变后,发出语言切换广播至应用,以使所述应用根据所述语言切换广播调用回调函数更新所述显示页面的语言。本发明专利技术实施例能够及时更新当前的显示页面的语言。
【技术实现步骤摘要】
本专利技术实施例属于计算机领域,尤其涉及一种Android系统的语言更新方法及装置。
技术介绍
在Android工程的res目录下,通过定义特殊的文件夹名称就可以实现多语言支持。比如,若程序兼容简体中文,贝1J在:res目录下的values文件夹中建立values-zh-rCN(其中,zh表示中文,rCN表示简体)文件夹,并在该文件夹放置默认strings, xml S卩可。其中,strings, xml里存储简体中文对应的语言字符串。当然,若需要兼容日文、英文、法文和德文,则在res目录下的values文件夹中建立values-ja、values、values_fr和values-de等文件夹,并在建立的文件夹放置对应的strings.xml即可,不同的strings.xml里存储日文、英文、法文、德文对应的语言字符串。此外,上述的文件夹如果涉及到参数配置类xml文件夹也要改成1!111-211、11111-」3、11111、11111-;1^和11111-(16。这样,在311(11'0丨(1的系统中进行语言切换,所开发的程序也会跟着切换语言。但现有的语言更新方法中,如果希望当前显示页面的语言设置生效,则需要重启对应的显示页面才能实现。但由于Android生命周期中不允许两个Acti Vity同时为前台模式,因此,当一个Activity为前台模式时,若又调用其它Activity,贝Ij导致原有的Activity出现压栈现象。比如,在播放视频时,若需要调用其它应用对视频播放属性(如语言)进行设置,则由于Android生命周期中不允许两个Activity同时为前台模式,因此在使设置的视频播放属性生效的过程中,可能会使得视频卡屏3秒,且使页面中原来的变量值丢失,从而导致用户体验太差。
技术实现思路
本专利技术实施例提供了一种Android系统的语言更新方法及装置,旨在解决现有方法难以及时更新显示页面的语言的问题。本专利技术实施例是这样实现的,一种Android系统的语言更新方法,所述方法包括:接收service启动指令后,仓Il建显示页面的实例;显示所述显示页面的实例对应的显示页面;判断当前语言环境是否发生改变;在当前语言环境发生改变后,发出语言切换广播至应用,以使所述应用根据所述语言切换广播调用回调函数更新所述显示页面的语言。本专利技术实施例的另一目的在于提供一种Android系统的语言更新方法,所述方法包括:在当前语言环境发生改变后,接收系统发出的语言切换广播;根据所述语言切换广播调用回调函数更新所述显示页面的语言。本专利技术实施例的另一目的在于提供一种Android系统的语言更新装置,所述装置包括:启动指令接收单元,用于接收service启动指令后,仓Il建显示页面的实例;显示页面显示单元,用于显示所述显示页面的实例对应的显示页面;当前语言环境判断单元,用于判断当前语言环境是否发生改变;语言切换广播发出单元,用于在当前语言环境发生改变后,发出语言切换广播至应用,以使所述应用根据所述语言切换广播调用回调函数更新所述显示页面的语言。本专利技术实施例的另一目的在于提供一种Android系统的语言更新装置,所述装置包括:语言切换广播接收单元,用于在当前语言环境发生改变后,接收系统发出的语言切换广播;显示页面的语言更新单元,用于根据所述语言切换广播调用回调函数更新所述显示页面的语言。在本专利技术实施例中,由于采用service和显示页面的弹出框式设置,以及通过回调函数实现显示页面的语言的更新,而上述更新方式不会出现两个Activity同时为前台模式,因此,在当前语言环境发生变化时,无需重启当前的显示页面也能够及时更新当前的显示页面的语言,并防止由于重启当前的显示页面而导致的原来的变量值丢失,从而提高提高了用户的良好体验。【附图说明】图1是本专利技术第一实施例提供的一种Android系统的语言更新方法的流程图;图2是本专利技术第二实施例提供的另一种Android系统的语言更新方法的流程图;图3是本专利技术第三实施例提供的一种Android系统的语言更新装置的结构图;图4是本专利技术第四实施例提供的另一种Android系统的语言更新装置的结构图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例中,接收service启动指令后,创建显示页面的实例,显示所述显示页面的实例对应的显示页面,当判断出当前语言环境发生改变时,发出语言切换广播至应用,以使所述应用根据所述语言切换广播调用回调函数更新所述显示页面的语言。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一:图1示出了本专利技术第一实施例提供的一种Android系统的语言更新方法的流程图,本实施例主要从系统侧进行描述,详述如下:步骤Sll,接收service启动指令后,仓Ij建显示页面的实例。该步骤中,系统初始化后,若接收到用户输入的service启动指令,比如,接收到“onCreate”这一service启动指令后,启动service,并创建显示页面(DialogUI)的实例。步骤S12,显示所述显示页面的实例对应的显示页面。该步骤中,将DialogUI以视图(View)的形式添加到WindowManager中。具体地,所述显示所述显示页面的实例对应的显示页面包括:Al、根据所述显示页面的实例初始化页面元素。[0036I A2、将原有的Activity实例采用所述显示页面的实例替换,以显示所述显示页面的实例对应的显示页面。上述Al和A2中,系统继承DialogUI或View后,在构造函数中初始化页面元素,再将原有的所有需要Acti vity实例的地方采用显示页面的实例(S卩service的实例)替换,以显示所述显示页面的实例对应的显示页面。步骤S13,判断当前语言环境是否发生改变。其中,所述判断当前语言环境是否发生改变具体包括:B1、检测是否接收到语言选择指令。具体地,实时或定时(如每隔3秒,或4秒等)检测系统是否接收到用户输入的语言选择指令。其中,语言选择指令包括选择的语言的种类的信息。B2、在接收到语言选择指令时,判断选择的语言与当前语言是否相同。具体地,将选择的语言的种类的信息与当前语言的种类的信息比较,根据比较结果判断选择的语言与当前语言是否相同。B3、在选择的语言与当前语言不相同时,判定当前语言环境发生改变。该步骤中,当选择的语言的种类的信息与当前语言的种类的信息不同时,判定当前语言环境发生改变,否则,判定当前语言环境没有发生改变。步骤S1当前第1页1 2 3 本文档来自技高网...
【技术保护点】
一种Android系统的语言更新方法,其特征在于,所述方法包括:接收service启动指令后,创建显示页面的实例;显示所述显示页面的实例对应的显示页面;判断当前语言环境是否发生改变;在当前语言环境发生改变后,发出语言切换广播至应用,以使所述应用根据所述语言切换广播调用回调函数更新所述显示页面的语言。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘远凤,
申请(专利权)人:TCL集团股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。