输入法操作处理方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种输入法操作处理方法和装置。
背景技术
随着操作系统的发展和应用需要,终端设备上的宿主操作系统需要兼容其他子操作系统的应用,例如以云操作系统为宿主操作系统,兼容以Android子操作系统的应用进行说明。
当云操作系统兼容Android操作系统应用时,Android操作系统内的子输入法框架随着Android操作系统安装在云操作系统平台上,但云操作系统内集成有宿主输入法框架,导致用户在进行云操作系统应用时启动宿主输入法,在进行安卓应用时启动子输入法。
由此可知,针对上述具有复合系统的情况,用户在进行不同的操作系统应用时需要在宿主输入法和子输入法之间进行切换,导致增加系统开销,并且降低用户输入操作效率。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种输入法操作处理方法,该方法实现了针对第一操作系统中输入法的操作指令,通过对第二操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
本申请的第二个目的在于提出一种输入法代理装置。
本申请的第三个目的在于提出一种输入法操作装置。
为达上述目的,本申请第一方面实施例提出了一种输入法操作处理方法,包括:接收针对第一输入法的第一操作指令;根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。
本申请实施例的输入法操作处理方法,通过接收针对第一输入法的第一操作指令;根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。由此,实现了针对第一操作系统中输入法的操作指令,通过对第二操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
为达上述目的,本申请第二方面实施例提出了一种输入法代理装置,包括:第一接收模块,用于接收针对第一输入法的第一操作指令;第一处理模块,用于根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。
本申请实施例的输入法代理装置,通过接收针对第一输入法的第一操作指令;根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。由此,实现了针对第一操作系统中输入法的操作指令,通过对第二操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
为达上述目的,本申请第三方面实施例提出了一种输入法操作装置,包括:处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
接收针对第一输入法的第一操作指令;
根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。
本申请实施例的输入法操作装置,通过接收针对第一输入法的第一操作指令;根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。由此,实现了针对第一操作系统中输入法的操作指令,通过对第二操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请一个实施例的输入法操作处理方法的流程图;
图2是本申请另一个实施例的输入法操作处理方法的流程图;
图3是本申请另一个实施例的输入法操作处理方法的流程图;
图4是本申请另一个实施例的输入法操作处理方法的流程图;
图5是本申请另一个实施例的输入法操作处理方法的流程图;
图6是本申请另一个实施例的输入法操作处理方法的流程图;
图7是本申请一个实施例的输入法操作处理的示意图;
图8是图7所示的信息交互示意图;
图9是本申请一个实施例的输入法代理装置的结构示意图;
图10是本申请另一个实施例的输入法代理装置的结构示意图;
图11是本申请另一个实施例的输入法代理装置的结构示意图;
图12是本申请另一个实施例的输入法操作装置的结构示意图;
图13是本申请另一个实施例的输入法操作装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的输入法操作处理方法和装置。
图1是本申请一个实施例的输入法操作处理方法的流程图。
如图1所示,该输入法操作处理方法包括:
步骤101,接收针对第一输入法的第一操作指令。
步骤102,根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。
具体地,本发明各实施例提供的输入法操作处理方法应用于具有复合操作系统的终端设备。其中,复合操作系统包括:一个第二操作系统,以及至少一个第一操作系统。
需要解释的是,本发明各实施例中的第二操作系统为终端设备安装的操作系统(即宿主操作系统),第一操作系统(即子操作系统)安装于第一系统容器中,第一系统容器部署在第二操作系统中,第一系统容器的功能为提供第一操作系统启动运行的相关硬件环境。进而,便可以在第二操作系统上安装使用与第一操作系统相关的应用。
需要说明的是,第一操作系统和第二操作系统的具体内容有很多,根据实际应用需要进行选择,本实施例对此不作限制,例如:第二操作系统包括:基于Linux内核的云操作系统、以及基于Unix内核的云操作系统、和WP操作系统;第一操作系统包括:Android操作系统,以及MAC操作系统。
针对上述的复合操作系统,与第一操作系统匹配的是第一输入法的输入法服务,与第二操作系统匹配的是第二输入法的输入法服务。需要说明的是,输入法服务向用户提供的具体内容视操作系统的具体内容而定,例如:
当第二操作系统为基于Linux内核的云操作系统时,第二输入法为智能通用输入法平台SCIM;当第一操作系统为Android操作系统时,第一输入法为百度安卓输入法等。
通常来说,输入法服务包含三个组件,分别是输入法视图View,输入法管理器(Input method manager,IMM)和输入法(input method,IME)服务。这三个组件需用共同合作才能完成输入法的工作,例如:View获取了焦点,会通知IMM打开输入法,然后IMM查看当前选中的IME,并调用该IME;或者用户提交了输入信息,IME需要将输入信息发送给View。
根据应用需要向与第一操作系统匹配的第一输入法的视图进行相关的触发操作,生成针对第一输入法的第一操作指令,例如包括:
示例一:当用户点击第一输入法视图中的编辑框时,即生成的第一操作指令为输入界面的显示指令;或者,
示例二:当用户点击第一输入法视图中的返回键时,即生成的第一操作指令为输入界面的隐藏指令。
当接收针对第一输入法的第一操作指令时,根据第一操作指令对第二输入法进行相应的操作处理。与现有技术相比,本实施例不再通过对第一输入法的相关操作来响应第一操作指令,而是通过对第二输入法的相关操作来响应第一操作指令。由于第一操作指令的内容不同,因此,对第二输入法的相应处理过程也不同,例如可以包括:
示例一:若所述针对第一输入法的第一操作指令为输入界面的显示指令,则显示所述第二输入法的输入界面,或者,
示例二:若所述针对第一输入法的第一操作指令为输入界面的隐藏指令,则隐藏所述第二输入法的输入界面。
本申请实施例的输入法操作处理方法,通过接收针对第一输入法的第一操作指令;根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。由此,实现了针对第一操作系统中输入法的操作指令,通过对第二操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
图2是本申请另一个实施例的输入法操作处理方法的流程图。
如图2所示,该输入法操作处理方法包括:
步骤201,当所述第一操作系统启动后,启动系统服务,其中,所述系统服务包括:所述第一输入法的输入法服务。
具体地,针对第一输入法的第一操作指令,为保证第一输入法针响应的实时性有效性,将第一输入法的输入法服务作为第一操作系统的系统服务。进而,当第一操作系统启动后,启动系统服务,从而第一输入法的输入法服务也随之启动。
步骤202,通过所述第一操作系统上运行的应用程序界面接收针对所述第一输入法的第一操作指令。
具体地,由于本发明中涉及的是复合操作系统,即在终端设备安装的第二操作系统中部署运行第一操作系统的第一系统容器,进而,可以在第二操作系统上安装使用与第一操作系统相关的应用。
因此,当用户在使用与第一操作系统相关的应用的过程中,需要使用与第一操作系统匹配的第一输入法时,在应用程序界面中针对第一输入法的相应位置进行触发操作,进而,通过应用程序界面接收针对所述第一输入法的第一操作指令。
步骤203,在所述第一输入法的输入法服务中阻断与所述第一操作指令相应的第一处理连接,通过所述第二输入法的输入法服务响应与所述第一操作指令相应的第二处理连接。
具体地,当接收针对第一输入法的第一操作指令时,在第一输入法的输入法服务中阻断与第一操作指令相应的第一处理连接,通过所述第二输入法的输入法服务响应与所述第一操作指令相应的第二处理连接。
由于第一操作指令的内容不同,因此,在第一输入法的输入法服务中对第一处理连接的阻断过程,以及在第二输入法的输入法服务中对第二处理连接的响应过程也不同,例如可以包括:
示例一:若针对第一输入法的第一操作指令为输入界面的显示指令,则阻断第一输入法的输入法服务中输入界面的显示连接,而是响应第二输入法的输入法服务中输入界面的显示连接。
或者,
示例二:若针对第一输入法的第一操作指令为输入界面的隐藏指令,则阻断第一输入法的输入法服务中输入界面的隐藏连接,而是响应第二输入法的输入法服务中输入界面的隐藏连接。
步骤204,在所述第一操作系统中修改所述第一输入法的安装标识和初始化标识。
具体地,为了避免其他非法的第三方输入法对第一输入法的篡改,在第一操作系统中修改对应的第一输入法的安装标识和初始化标识。
本申请实施例的输入法操作处理方法,当所述第一操作系统启动后,启动包括第一输入法的输入法服务的系统服务,通过所述第一操作系统上运行的应用程序界面接收针对所述第一输入法的第一操作指令,进而在所述第一输入法的输入法服务中阻断与所述第一操作指令相应的第一处理连接,通过所述第二输入法的输入法服务响应与所述第一操作指令相应的第二处理连接,并在第一操作系统中修改第一输入法的安装标识和初始化标识。由此,实现了针对第一操作系统中输入法的操作指令,通过对第二操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
图3是本申请另一个实施例的输入法操作处理方法的流程图。
如图3所示,该输入法操作处理方法包括:
步骤301,接收针对第一输入法的第一操作指令。
步骤302,根据预设的协议转换规则,将所述第一操作指令的第一数据格式转换成第二数据格式,其中,所述第一数据格式与所述第一操作系统匹配,所述第二数据格式与所述第二操作系统匹配。
具体地,针对不同的操作系统,操作指令的数据格式不同,例如:在第一操作系统中,操作指令为第一数据格式,在第二操作系统中,操作指令为第二数据格式。因此,预先设置针对第一操作系统和第二操作系统的协议转换规则,将操作指令的第一数据格式转换成第二数据格式。
因此,当接收到针对第一输入法的第一操作指令时,根据预设的协议转换规则,将所述第一操作指令的第一数据格式转换成第二数据格式。例如:当第二操作系统为基于Linux内核的云操作系统,第一操作系统为Android操作系统时,需要对Android操作系统能够识别的第一操作指令进行数据格式转换,转化成基于Linux内核的云操作系统能够识别的数据格式。
其中,对第一操作指令进行协议格式转换,生成第二操作系统识别的第二操作指令的方式有很多,可以根据实际应用需要进行选择,本实施例对此不作限制,具体说明如下:
方式一,直接转换模式,
直接转换模式的处理速度快。具体实现是:在所述第一操作系统和第二操作系统之间设置第一中间代理;
第一中间代理根据第一操作系统与第二操作系统之间的协议转换规则,对所述第一操作指令进行的数据格式转换,将与第一操作系统匹配的第一数据格式转换成与第二操作系统匹配的第二数据格式。
方式二,间接转换模式,
间接转换模式与系统的兼容复杂度低。具体实现是:在所述第一操作系统中设置第一代理,以及在所述第二操作系统中设置第二代理。
第一代理根据第一操作系统与所述第二操作系统之间预设的跨平台通信协议IPC,将与第一操作系统匹配的第一数据格式转换成标准数据格式,发送给所述第二代理。
进而,第二代理根据所述跨平台通信协议IPC,将所述标准数据格式转换成与第二操作系统匹配的第二数据格式。
其中,所述跨平台通信协议IPC的类型很多,可以根据应用需要进行选择,例如包括:管道协议、套接字协议、以及消息队列协议。
进而,第二操作系统能够识别数据格式转换后的第一操作指令,第二输入法根据该操作指令进行相应的操作处理。
由于用户对第一输入法的输入法视图的触发内容不同,第一操作指令的内容不同,因此,第二输入法根据该第一操作指令进行的处理过程也不同,具体如下:
场景一,
当用户点击第一输入法视图中的编辑框时,第一操作指令为输入界面的显示指令,对该输入界面的显示指令进行协议格式转换,生成第二操作系统识别的输入界面的显示指令,进而显示所述第二输入法的输入界面,用户可以通过第二输入法的输入界面进行输入操作。
场景二,
当用户点击第一输入法视图中的返回键时,第一操作指令为输入界面的隐藏指令,对该输入界面的隐藏指令进行协议格式转换,生成第二操作系统识别的输入界面的隐藏指令,进而隐藏所述第二输入法的输入界面。
本实施例的输入法操作处理方法,通过接收针对第一输入法的第一操作指令,根据预设的协议转换规则,将所述第一操作指令的第一数据格式转换成第二数据格式,其中,所述第一数据格式与所述第一操作系统匹配,所述第二数据格式与所述第二操作系统匹配。由此,实现了使用子操作系统应用时能够调用宿主操作系统输入法,对复合系统的输入法模式进行统一,降低了宿主操作系统的处理开销,并且提高了用户的处理效率和体验度。
图4是本申请另一个实施例的输入法操作处理方法的流程图。
如图4所示,基于图1至图3任一实施例,还可以包括以下步骤:
步骤401,接收针对第二输入法的第二操作指令。
步骤402,根据所述第二操作指令对所述第一输入法进行相应的操作处理。
具体地,根据应用需要向与第二操作系统匹配的第二输入法的输入界面进行相关的触发操作,生成针对第二输入法的第二操作指令,例如包括:
示例一:当用户使用第二输入法的输入界面编辑完信息,点击第二输入法输入界面的发送键时,则生成的第二操作指令为针对第二输入法的输入信息提交指令;或者,
示例二:当用户点击第二输入法的输入界面的撤销键时,则生成的第二操作指令为针对第二输入法的输入信息删除指令。
当接收针对第二输入法的第二操作指令时,根据第二操作指令对第一输入法进行相应的操作处理。由于第二操作指令的内容不同,因此,对第一输入法的相应处理过程也不同,例如可以包括:
示例一:若所述针对第二输入法的第二操作指令为输入信息提交指令,则在第一输入法的编辑框中显示使用第二输入法的输入界面输入的信息,或者,
示例二:若所述针对第二输入法的第二操作指令为输入信息删除指令,则在删除显示在第一输入法的编辑框中的输入信息。
基于图1至图3任一实施例,本实施例的输入法操作处理方法,进一步地通过接收针对第二输入法的第二操作指令,根据所述第二操作指令对所述第一输入法进行相应的操作处理。由此,实现了针对第二操作系统中输入法的操作指令,通过对第一操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
图5是本申请另一个实施例的输入法操作处理方法的流程图。
如图5所示,基于图1至图3任一实施例,还可以包括以下步骤:
步骤501,接收针对第二输入法的第二操作指令。
步骤502,通过所述第一操作系统注册远程接口服务回调,接收所述第二操作指令,并反馈给所述第一输入法的输入法服务,以使所述第一输入法的输入法服务根据所述第二操作指令对所述第一输入法的编辑框进行相应处理。
具体地,第一操作系统预先注册远程接口服务回调,进而,当接收针对第二输入法的第二操作指令时,第一操作系统通过预先注册的远程接口服务回调,接收第二操作指令,并反馈给所述第一输入法的输入法服务。第一输入法的输入法服务根据所述第二操作指令对所述第一输入法的编辑框进行相应处理。
由于第二操作指令的内容不同,因此,第一输入法的输入法服务根据所述第二操作指令对所述第一输入法的编辑框进行相应处理也不同,例如可以包括:
示例一:若针对第二输入法的第二操作指令为输入信息提交指令,则在第一输入法的编辑框中显示使用第二输入法的输入界面输入的信息,或者,
示例二:若所述针对第二输入法的第二操作指令为输入信息删除指令,则在删除显示在第一输入法的编辑框中的输入信息。
基于图1至图3任一实施例,本实施例的输入法操作处理方法,进一步地通过接收针对第二输入法的第二操作指令,通过第一操作系统注册远程接口服务回调,接收所述第二操作指令,并反馈给所述第一输入法的输入法服务,以使所述第一输入法的输入法服务根据所述第二操作指令对所述第一输入法的编辑框进行相应处理。由此,实现了针对第二操作系统中输入法的操作指令,通过对第一操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
图6是本申请另一个实施例的输入法操作处理方法的流程图。
如图6所示,基于图1至图3任一所述的实施例,还可以包括以下步骤:
步骤601,接收针对第二输入法的第二操作指令。
步骤602,根据预设的协议转换规则,将所述第二操作指令的第二数据格式转换成第一数据格式,其中,所述第二数据格式与所述第二操作系统匹配,所述第一数据格式与所述第一操作系统匹配。
具体地,针对不同的操作系统,操作指令的数据格式不同,例如:在第一操作系统中,操作指令为第一数据格式,在第二操作系统中,操作指令为第二数据格式。因此,预先设置针对第一操作系统和第二操作系统的协议转换规则,将操作指令的第一数据格式转换成第二数据格式。
因此,当接收到针对第二输入法的第二操作指令时,根据预设的协议转换规则,将所述第二操作指令的第二数据格式转换成第一数据格式。例如:当第二操作系统为基于Linux内核的云操作系统,第一操作系统为Android操作系统时,需要对基于Linux内核的云操作系统能够识别的第二操作指令的数据格式转换成Android操作系统能够识别的数据格式。
其中,对第二操作指令进行协议格式转换,生成第一操作系统识别的第二操作指令的方式有很多,可以根据实际应用需要进行选择,本实施例对此不作限制,具体说明如下:
方式一,直接转换模式,
直接转换模式的处理速度快。具体实现是:在所述第二操作系统和第一操作系统之间设置第二中间代理;
第二中间代理根据第二操作系统与第一操作系统之间的协议转换规则,对所述第二操作指令进行的数据格式转换,将与第二操作系统匹配的第二数据格式转换成与第一操作系统匹配的第一数据格式。
方式二,间接转换模式,
间接转换模式与系统的兼容复杂度低。具体实现是:在所述第二操作系统中设置第三代理,以及在所述第四操作系统中设置第四代理。
第三代理根据第二操作系统与所述第一操作系统之间预设的跨平台通信协议IPC,将与第二操作系统匹配的第二数据格式转换成标准数据格式,发送给所述第四代理。
进而,第四代理根据所述跨平台通信协议IPC,将所述标准数据格式转换成与第一操作系统匹配的第一数据格式。
其中,所述跨平台通信协议IPC的类型很多,可以根据应用需要进行选择,例如包括:管道协议、套接字协议、以及消息队列协议。
进而,第一操作系统能够识别数据格式转换后的第二操作指令,第一输入法根据该操作指令进行相应的操作处理。
由于用户对第二输入法的输入法视图的触发内容不同,第二操作指令的内容不同,因此,第一输入法根据该第二操作指令进行的处理过程也不同,具体如下:
场景一,
当用户使用第二输入法编辑完信息后,点击第二输入法中的发送键时,生成的第二操作指令为输入信息提交指令,对该输入信息提交指令进行协议格式转换,生成第一操作系统识别的输入信息提交指令,并发送给第一输入法,进而第一输入法将用户提交的输入信息显示在第一输入法编辑框中。
场景二,
当用户点击第二输入法的撤销键时,第二输入法生成的第二操作指令为输入信息删除指令,对该输入信息删除指令进行协议格式转换,生成第一操作系统识别的输入信息删除指令,并发送给第一输入法,进而第一输入法删除当前显示在第一输入法编辑框中的信息。
基于图1-图3任一实施例,本实施例的输入法操作处理方法,进一步地通过接收针对第二输入法的第二操作指令,根据预设的协议转换规则,将所述第二操作指令的第二数据格式转换成第一数据格式,其中,所述第二数据格式与所述第二操作系统匹配,所述第一数据格式与所述第一操作系统匹配。由此,实现了针对第二操作系统中输入法的操作指令,通过对第一操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
进一步地,基于上述实施例,需要说明的是,直接转换模式中的第一中间代理和第二中间代理可以集成为一体部署,也可以分开独立部署,根据实际应用需要进行设置;间接转换模式中的第一代理和第四代理可以集成为一体部署,称为第一操作系统代理,以及第二代理和第四代理均可以集成为一体部署,称为第二操作系统代理,也可以分开独立部署,根据实际应用需要进行设置。
为了更加清楚的说明上述转换过程,以图7所示实施例进行具体说明。图7所示实施例中的第一操作系统为子操作系统,以安卓操作系统(Android系统)为例,第二操作系统为宿主操作系统,以云操作系统(YunOS操作系统)为例,采用间接转换模式,并且采用集成一体部署,即在子操作系统(Guest)部署子代理,在宿主操作系统(Host)部署宿主代理,具体说明如下:
图7是本申请一个实施例的输入法操作处理的示意图,参见图7,具体如下:
1、根据现有YunOS操作系统结构(基于Linux内核的适合手机等便携设备的操作系统),及Android系统输入法现有结构,本发明通过Guest(Android端)层和Host(宿主端)层分别构建代理服务,采用Linux下的IPC跨平台通信协议,来完成跨系统层次通信及数据传输。
2、为保证Android中输入法响应实时性有效性,容器启动后通过实例化Android的输入法服务InputMethodService(相当于上述实施例中涉及的第一输入法服务),并随系统作为系统服务启动。
3、当用户在Guest(Android端)层触发Android输入法视图(view)的编辑框时,Android输入法的输入法管理器InputMethodService向Android的输入法服务InputMethodService发送输入界面显示指令(showSoftinput)。InputMethodService阻断Android系统输入法原有showSoftinput连接,即阻断Guest层中软键盘启动行为,将showSoftinput发送给Guest(Android端)层的Proxy(子代理),通过Guest(Android端)层的Proxy(子代理)根据Binder IPC将showSoftinput(即operation1)转换成标准数据格式,发送给Host(宿主端)层的Proxy(宿主代理)。Host(宿主端)层的Proxy(宿主代理)根据BinderIPC将showSoftinput(即operation1)转换成YunOS操作系统识别的数据格式,来通知Host软键盘响应行为(即智能通用输入法平台SCIM,相当于上述实施例中涉及的第二输入法)。SCIM通过输入法的其他模块(other modual调用SCIM输入界面进行响应)
4、用户使用SCIM输入界面输入完信息点击提交后,Host(宿主端)层的Proxy(宿主代理)接收SCIM发送的输入信息提交指令composeText(即operation2),宿主代理根据Binder IPC将composeText(即operation2)转换成标准数据格式,对输入信息提交指令进行数据格式转换,生成标准格式操作指令发送给Guest(Android端)层的Proxy(子代理),Guest(Android端)层的Proxy(子代理)根据Binder IPC将composeText(即operation2)转换成Android端识别的数据格式。
5、Android系统通过注册android远程接口服务回调,通过Guest(Android端)层的Proxy(子代理)接收Host端通过Host(宿主端)层的Proxy(宿主代理)发出的composeText(提交信息)消息,并反馈给InputMethodServices,最终上屏输入到android的输入框中(views)。
6、修改Android系统中输入法安装和初始化标识,以防三方输入法对Android端行为的篡改。
图8是图7所示的信息交互示意图,如图8所示,具体包括以下步骤:
信令流1包括:子代理接收子输入法模块发送的输入界面显示指令,根据IPC对输入界面显示指令进行数据格式转换,生成标准格式操作指令发送给宿主代理;宿主代理根据IPC,对标准格式操作指令进行数据格式转换,生成宿主操作系统识别的输入界面显示指令,并发送给宿主输入法模块。宿主输入法模块显示宿主输入法输入界面,用户通过所述宿主输入法输入界面进行输入操作。
信令流2包括:用户使用宿主输入法输入完信息点击提交后,宿主代理接收宿主输入法模块发送的输入信息提交指令,宿主代理根据IPC,对输入信息提交指令进行数据格式转换,生成标准格式操作指令发送给子代理;代理根据IPC,对标准格式操作指令进行数据格式转换,生成子操作系统识别的输入信息提交指令。子输入法模块在编辑框中,显示用户采用宿主输入法软键盘输入的文本信息。
信令流3包括:子代理接收子输入法模块发送的输入界面隐藏指令,根据IPC对输输入界面隐藏指令进行数据格式转换,生成标准格式操作指令发送给宿主代理;宿主代理根据IPC,对标准格式操作指令进行数据格式转换,生成宿主操作系统识别的输入界面隐藏指令,并发送给宿主输入法模块。宿主输入法模块隐藏宿主输入法。
为了实现上述实施例,本申请还提出一种输入法代理装置。
图9是本申请一个实施例的输入法代理装置的结构示意图。
如图9所示,该输入法代理装置包括:
第一接收模块11,用于接收针对第一输入法的第一操作指令;
第一处理模块12,用于根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。
具体地,所述针对第一输入法的第一操作指令,包括:
针对第一输入法的输入界面的显示指令;或者,
针对第一输入法的输入界面的隐藏指令。
在一个实施例中,若所述针对第一输入法的第一操作指令为针对第一输入法的输入界面的显示指令,则所述第一处理模块12用于:
显示所述第二输入法的输入界面。
在另一个实施例中,若所述针对第一输入法的第一操作指令为针对第一输入法的输入界面的隐藏指令,则所述第一处理模块12用于:
隐藏所述第二输入法的输入界面。
需要说明的是,前述对输入法操作处理方法实施例的解释说明也适用于该实施例的输入法代理装置,此处不再赘述。
本申请实施例的输入法代理装置,通过接收针对第一输入法的第一操作指令;根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。由此,实现了针对第一操作系统中输入法的操作指令,通过对第二操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
图10是本申请另一个实施例的输入法代理装置的结构示意图,如图10所示,基于图9所示实施例,所述装置还包括:
启动模块13,用于当所述第一操作系统启动后,启动系统服务,其中,所述系统服务包括:所述第一输入法的输入法服务。
修改模块14,用于在所述第一操作系统中修改所述第一输入法的安装标识和初始化标识。
所述第一处理模块12用于:
在所述第一输入法的输入法服务中阻断与所述第一操作指令相应的第一处理连接,通过所述第二输入法的输入法服务响应与所述第一操作指令相应的第二处理连接。
需要说明的是,前述对输入法操作处理方法实施例的解释说明也适用于该实施例的输入法代理装置,此处不再赘述。
本申请实施例的输入法代理装置,当所述第一操作系统启动后,启动包括第一输入法的输入法服务的系统服务,通过所述第一操作系统上运行的应用程序界面接收针对所述第一输入法的第一操作指令,进而在所述第一输入法的输入法服务中阻断与所述第一操作指令相应的第一处理连接,通过所述第二输入法的输入法服务响应与所述第一操作指令相应的第二处理连接,并在第一操作系统中修改第一输入法的安装标识和初始化标识。由此,实现了针对第一操作系统中输入法的操作指令,通过对第二操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
图11是本申请另一个实施例的输入法代理装置的结构示意图,如图11所示,基于上述实施例,以图9为例,本实施例中,所述第一处理模块12用于:
根据预设的协议转换规则,将所述第一操作指令的第一数据格式转换成第二数据格式,其中,所述第一数据格式与所述第一操作系统匹配,所述第二数据格式与所述第二操作系统匹配。
在一个实施例中,所述第一处理模块12包括:在所述第一操作系统中设置第一代理121,以及在所述第二操作系统中设置第二代理122;
所述第一代理121,用于根据所述第一操作系统与所述第二操作系统之间预设的跨平台通信协议IPC,将所述第一数据格式转换成标准数据格式,发送给所述第二代理122;
所述第二代理122,用于根据所述跨平台通信协议IPC,将所述标准数据格式转换成所述第二数据格式。
其中,所述跨平台通信协议IPC包括:
管道协议、套接字协议、以及消息队列协议。
在另一个实施例中,所述第一处理模块12包括:在所述第一操作系统和第二主操作系统之间设置第一中间代理123;
所述第一中间代理123,用于根据所述第一操作系统与所述第二操作系统之间的协议转换规则,将所述第一数据格式转换成所述第二数据格式。
需要说明的是,前述对输入法操作处理方法实施例的解释说明也适用于该实施例的输入法代理装置,其实现原理类似,此处不再赘述。
本申请实施例的输入法代理装置,通过接收针对第一输入法的第一操作指令,根据预设的协议转换规则,将所述第一操作指令的第一数据格式转换成第二数据格式,其中,所述第一数据格式与所述第一操作系统匹配,所述第二数据格式与所述第二操作系统匹配。由此,实现了使用子操作系统应用时能够调用宿主操作系统输入法,对复合系统的输入法模式进行统一,降低了宿主操作系统的处理开销,并且提高了用户的处理效率和体验度。
图12是本申请另一个实施例的输入法操作装置的结构示意图。
如图12所示,基于图9-图11任一上述实施例,以图9为例,所述装置还包括:
第二接收模块15,用于接收针对第二输入法的第二操作指令;
第二处理模块16,用于根据所述第二操作指令对所述第一输入法进行相应的操作处理。
具体地,所述针对第二输入法的第二操作指令,包括:
针对第二输入法的输入信息提交指令;或者,
针对第二输入法的输入信息删除指令。
在一个实施例中,若所述针对第二输入法的第二操作指令为针对第二输入法的输入信息提交指令,则所述第二处理模块16用于:
将所述输入信息显示在所述第一输入法的编辑框中。
在另一个实施例中,若所述针对第二输入法的第二操作指令为针对第二输入法的输入信息删除指令,则所述第二处理模块16用于:
删除所述第一输入法的编辑框中显示的输入信息。
基于图9至图11任一实施例,本实施例的输入法操作处理装置,进一步地通过接收针对第二输入法的第二操作指令,根据所述第二操作指令对所述第一输入法进行相应的操作处理。由此,实现了针对第二操作系统中输入法的操作指令,通过对第一操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
进一步地,基于上述实施例,
在一个实施例中,所述第二处理模块16用于:
通过所述第一操作系统注册远程接口服务回调,接收所述第二操作指令,并反馈给所述第一输入法的输入法服务,以使所述第一输入法的输入法服务根据所述第二操作指令对所述第一输入法的编辑框进行相应处理。
需要说明的是,前述对输入法操作处理方法实施例的解释说明也适用于该实施例的输入法操作装置,其实现原理和技术效果类似,此处不再赘述。
图13是本申请另一个实施例的输入法操作装置的结构示意图。
如图13所示,基于上述实施例,以图12为例,本实施例中,所述第二处理模块16用于:
根据预设的协议转换规则,将所述第二操作指令的第二数据格式转换成第一数据格式,其中,所述第二数据格式与所述第二操作系统匹配,所述第一数据格式与所述第一操作系统匹配。
在一个实施例中,所述第二处理模块16包括:在所述第二操作系统中设置第三代理161,以及在所述第一操作系统中设置第四代理162;
所述第三代理161,用于根据所述第一操作系统与所述第二操作系统之间预设的跨平台通信协议IPC,将所述第二数据格式转换成标准数据格式,发送给所述第四代理162;
所述第四代理162,用于根据所述跨平台通信协议IPC,将所述标准数据格式转换成所述第一数据格式。
在另一个实施例中,所述第二处理模块16包括:在所述第一操作系统和第二主操作系统之间设置第二中间代理163;
所述第二中间代理163,用于根据所述第一操作系统与所述第二操作系统之间的协议转换规则,将所述第二数据格式转换成所述第一数据格式。
基于图9-图11任一实施例,本实施例的输入法操作处理装置,进一步地通过接收针对第二输入法的第二操作指令,根据预设的协议转换规则,将所述第二操作指令的第二数据格式转换成第一数据格式,其中,所述第二数据格式与所述第二操作系统匹配,所述第一数据格式与所述第一操作系统匹配。由此,实现了针对第二操作系统中输入法的操作指令,通过对第一操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
为了实现上述实施例,本申请还提出一种输入法操作处理装置,所述装置包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
接收针对第一输入法的第一操作指令;
根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。
其中,所述第一操作系统包括:基于Linux/Unix内核的云操作系统、以及WP操作系统;所述第二操作系统包括:Android操作系统,以及MAC操作系统。
需要说明的是,前述对输入法操作处理方法实施例的解释说明也适用于该实施例的输入法操作装置,此处不再赘述。
本申请实施例的输入法操作装置,通过接收针对第一输入法的第一操作指令;根据所述第一操作指令对第二输入法进行相应的操作处理,其中,所述第一输入法对应的第一操作系统和所述第二输入法对应的第二操作系统不同。由此,实现了针对第一操作系统中输入法的操作指令,通过对第二操作系统中输入法的相关操作进行响应,从而对复合操作系统的多种输入法模式进行统一,降低了复合操作系统的处理开销,并且提高了用户的处理效率和体验度。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个代理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。