著录项信息
专利名称 | 基于HTML5实现应用功能的方法与装置 |
申请号 | CN201310635003.8 | 申请日期 | 2013-12-02 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-03-19 | 公开/公告号 | CN103645896A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F9/44 | IPC分类号 | G;0;6;F;9;/;4;4;;;G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市龙岗区坂田华为总部办公楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 李自刚;唐东;杨柳 |
代理机构 | 北京中博世达专利商标代理有限公司 | 代理人 | 申健 |
摘要
本发明公开了一种基于HTML5实现应用功能的方法和装置,涉及通信技术领域,解决了基于HTML5执行待执行应用的过程较为复杂的问题。本发明的方法具体可以包括:接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;根据所述操作对象的信息和所述应用标签执行所述待执行应用。可应用于执行待执行应用中。
1.一种基于超文本标记语言HTML5实现应用功能的方法,其特征在于,包括:
接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;
查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;
根据所述操作对象的信息和所述应用标签执行所述待执行应用;
所述应用标签包括:接口层、业务逻辑层、平台适配层;
所述根据所述操作对象的信息和所述应用标签执行所述待执行应用,包括:
在所述接口层中查找与所述待执行应用对应的接口;
从所述业务逻辑层中查找与所述接口对应的业务逻辑执行代码;
在所述业务逻辑层上,根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码;
在所述平台适配层上,根据所述硬件交互执行代码指示所述操作对象执行相应操作,所述相应操作为所述待执行应用对应的操作。
2.根据权利要求1所述的方法,其特征在于,所述待执行应用包括:用于切换摄像头的应用;
所述根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码,包括:
根据所述业务逻辑执行代码判断摄像头的数量是否大于1;
若摄像头的数量大于1,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头和待开启的指定摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识和所述待开启的指定摄像头的标识;
所述根据所述硬件交互执行代码指示所述操作对象执行相应操作,包括:
根据所述硬件交互执行代码指示所述待开启的指定摄像头开启,并指示所述当前开启的摄像头关闭。
3.根据权利要求1或2所述的方法,其特征在于,所述待执行应用包括:用于开启摄像头的应用;
所述根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码,包括:
根据所述业务逻辑执行代码和所述操作对象的信息判断待开启的指定摄像头是否允许被使用,所述操作对象包括:所述待开启的指定摄像头;
若所述待开启的指定摄像头被允许使用,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述硬件交互执行代码包括:所述待开启的指定摄像头的标识;
所述根据所述硬件交互执行代码指示所述操作对象执行相应操作,包括:
根据所述硬件交互执行代码指示所述待开启的指定摄像头开启。
4.根据权利要求3所述的方法,其特征在于,所述待执行应用包括:用于拍摄图像的应用;
所述根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码,包括:
根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识;
所述根据所述硬件交互执行代码指示所述操作对象执行相应操作,包括:
根据所述硬件交互执行代码指示所述当前开启的摄像头执行拍照操作。
5.一种基于超文本标记语言HTML5实现应用功能的装置,其特征在于,包括:
接收单元,用于接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;
查找单元,用于查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;
执行单元,用于根据所述操作对象的信息和所述应用标签执行所述待执行应用;
所述应用标签包括:接口层、业务逻辑层、平台适配层;
所述执行单元,包括:
查找模块,用于在所述接口层中查找与所述待执行应用对应的接口;从所述业务逻辑层中查找与所述接口对应的业务逻辑执行代码;
业务逻辑处理模块,用于在所述业务逻辑层上,根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码;
执行模块,用于在所述平台适配层上,根据所述硬件交互执行代码指示所述操作对象执行相应操作,所述相应操作为所述待执行应用对应的操作。
6.根据权利要求5所述的装置,其特征在于,所述待执行应用包括:用于切换摄像头的应用;
所述业务逻辑处理模块,具体用于根据所述业务逻辑执行代码判断摄像头的数量是否大于1;若摄像头的数量大于1,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头和待开启的指定摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识和所述待开启的指定摄像头的标识;
所述执行模块,具体用于根据所述硬件交互执行代码指示所述待开启的指定摄像头开启,并指示所述当前开启的摄像头关闭。
7.根据权利要求5或6所述的装置,其特征在于,所述待执行应用包括:用于开启摄像头的应用;
所述业务逻辑处理模块,具体用于根据所述业务逻辑执行代码和所述操作对象的信息判断待开启的指定摄像头是否允许被使用,所述操作对象包括:所述待开启的指定摄像头;
若所述待开启的指定摄像头被允许使用,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述硬件交互执行代码包括:所述待开启的指定摄像头的标识;
所述执行模块,具体用于根据所述硬件交互执行代码指示所述待开启的指定摄像头开启。
8.根据权利要求7所述的装置,其特征在于,所述待执行应用包括:用于拍摄图像的应用;
所述业务逻辑处理模块,具体用于根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识;
所述执行模块,具体用于根据所述硬件交互执行代码指示所述当前开启的摄像头执行拍照操作。
基于HTML5实现应用功能的方法与装置\n技术领域\n[0001] 本发明涉及通信技术领域,尤其涉及基于HTML5(Hypertext Markup Language,超文本标记语言)实现应用功能的方法与装置。\n背景技术\n[0002] Html具备应用开发简便的特性,camera(照相机)相关的应用是移动操作系统的重要部分,能够基于html开发出camera相关功能变得日益迫切。\n[0003] Html最新版本是Html5,其在多媒体领域能够支持音频(audio)、视频(video)绘图(canvas)等三个方面的功能,换言之,在多媒体领域可以通过多个Html5标签实现相应的功能,其中,Html5标签可以包括:音频标签、视频标签、绘图标签等。\n[0004] 现有技术中,在webRTC(web Real-Time Communications,网络实时通讯)(即一项在浏览器内部进行实时视频和音频通信的技术)中可以将camera功能分别添加至多个Html5标签中,在调用相应的camera功能时,可以从相应的多个Html5标签中调用相应的数据,以实现相应的camera功能。\n[0005] 在实现上述基于HTML5实现应用功能的过程中,现有技术中至少存在如下问题:实现相应的Camera功能需要借助多个html5标签配合实现,即执行实现Camera功能的应用的过程较为复杂。\n发明内容\n[0006] 本发明的实施例提供一种基于HTML5实现应用功能的方法和装置,解决了基于HTML5执行待执行应用的过程较为复杂的问题。\n[0007] 为达到上述目的,本发明的实施例采用如下技术方案:\n[0008] 第一方面,提供一种基于HTML5实现应用功能的方法,包括:\n[0009] 接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;\n[0010] 查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;\n[0011] 根据所述操作对象的信息和所述应用标签执行所述待执行应用。\n[0012] 结合第一方面,在第一种可能的实现方式中,所述应用标签包括:接口层、业务逻辑层、平台适配层;\n[0013] 所述根据所述操作对象的信息和所述应用标签执行所述待执行应用,包括:\n[0014] 在所述接口层中查找与所述待执行应用对应的接口;\n[0015] 从所述业务逻辑层中查找与所述接口对应的业务逻辑执行代码;\n[0016] 在所述业务逻辑层上,根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码;\n[0017] 在所述平台适配层上,根据所述硬件交互执行代码指示所述操作对象执行相应操作,所述相应操作为所述待执行应用对应的操作。\n[0018] 结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述待执行应用包括:用于切换摄像头的应用;\n[0019] 所述根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码,包括:\n[0020] 根据所述业务逻辑执行代码判断摄像头的数量是否大于1;\n[0021] 若摄像头的数量大于1,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头和待开启的指定摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识和所述待开启的指定摄像头的标识;\n[0022] 所述根据所述硬件交互执行代码指示所述操作对象执行相应操作,包括:\n[0023] 根据所述硬件交互执行代码指示所述待开启的指定摄像头开启,并指示所述当前开启的摄像头关闭。\n[0024] 结合第一方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述待执行应用包括:用于开启摄像头的应用;\n[0025] 所述根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码,包括:\n[0026] 根据所述业务逻辑执行代码和所述操作对象的信息判断待开启的指定摄像头是否允许被使用,所述操作对象包括:所述待开启的指定摄像头;\n[0027] 若所述待开启的指定摄像头被允许使用,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述硬件交互执行代码包括:所述待开启的指定摄像头的标识;\n[0028] 所述根据所述硬件交互执行代码指示所述操作对象执行相应操作,包括:\n[0029] 根据所述硬件交互执行代码指示所述待开启的指定摄像头开启。\n[0030] 结合第一方面的第一种可能的实现方式至第三种可能的实现方式中任一种方式,在第四种可能的实现方式中,所述待执行应用包括:用于拍摄图像的应用;\n[0031] 所述根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码,包括:\n[0032] 根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识;\n[0033] 所述根据所述硬件交互执行代码指示所述操作对象执行相应操作,包括:\n[0034] 根据所述硬件交互执行代码指示所述当前开启的摄像头执行拍照操作。\n[0035] 第二方面,提供一种基于HTML5实现应用功能的方法,包括:\n[0036] 接收单元,用于接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;\n[0037] 查找单元,用于查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;\n[0038] 执行单元,用于根据所述操作对象的信息和所述应用标签执行所述待执行应用。\n[0039] 结合第二方面,在第一种可能的实现方式中,所述应用标签包括:接口层、业务逻辑层、平台适配层;\n[0040] 所述执行单元,包括:\n[0041] 查找模块,用于在所述接口层中查找与所述待执行应用对应的接口;从所述业务逻辑层中查找与所述接口对应的业务逻辑执行代码;\n[0042] 业务逻辑处理模块,用于在所述业务逻辑层上,根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码;\n[0043] 执行模块,用于在所述平台适配层上,根据所述硬件交互执行代码指示所述操作对象执行相应操作,所述相应操作为所述待执行应用对应的操作。\n[0044] 结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述待执行应用包括:用于切换摄像头的应用;\n[0045] 所述业务逻辑处理模块,具体用于根据所述业务逻辑执行代码判断摄像头的数量是否大于1;若摄像头的数量大于1,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头和待开启的指定摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识和所述待开启的指定摄像头的标识;\n[0046] 所述执行模块,具体用于根据所述硬件交互执行代码指示所述待开启的指定摄像头开启,并指示所述当前开启的摄像头关闭。\n[0047] 结合第二方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述待执行应用包括:用于开启摄像头的应用;\n[0048] 所述业务逻辑处理模块,具体用于根据所述业务逻辑执行代码和所述操作对象的信息判断待开启的指定摄像头是否允许被使用,所述操作对象包括:所述待开启的指定摄像头;若所述待开启的指定摄像头被允许使用,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述硬件交互执行代码包括:所述待开启的指定摄像头的标识;\n[0049] 所述执行模块,具体用于根据所述硬件交互执行代码指示所述待开启的指定摄像头开启。\n[0050] 结合第二方面的第一种可能的实现方式至第三种可能的实现方式中任一种方式,在第四种可能的实现方式中,所述待执行应用包括:用于拍摄图像的应用;\n[0051] 所述业务逻辑处理模块,具体用于根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识;\n[0052] 所述执行模块,具体用于根据所述硬件交互执行代码指示所述当前开启的摄像头执行拍照操作。\n[0053] 本发明实施例提供的基于HTML5实现应用功能的方法和装置,接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;根据所述操作对象的信息和所述应用标签执行所述待执行应用。采用上述方案后,在执行待执行应用时,只需要借助与待执行应用对应的唯一的一个应用标签便可执行待执行应用,与现有技术中借助多个html5标签配合来执行相应的应用相比,简化了实现过程,同时也简化了开发过程。\n附图说明\n[0054] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。\n[0055] 图1为现有技术中,webrtc的架构下实现涉及图像采集设备的应用的流程图;\n[0056] 图2为本实施例提供的一种基于HTML5实现应用功能的方法的流程图;\n[0057] 图3为本实施例提供的另一种基于HTML5实现应用功能的方法的流程图;\n[0058] 图4为采用图3所示的方法执行用于浏览已拍图片的应用的流程图;\n[0059] 图5为本实施例提供的一种基于HTML5实现应用功能的装置的结构示意图;\n[0060] 图6为本实施例提供的另一种基于HTML5实现应用功能的装置的结构示意图。\n具体实施方式\n[0061] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0062] 如图1所示,为现有技术中,webrtc的架构下实现涉及图像采集设备的应用的流程图,为了实现浏览器内部支持音视频实时通信,需要将相应的应用请求移植到浏览器引擎中使用;涉及图像采集设备的应用的执行可以通过html5标签和JavaScript接口实现,其中,html5标签可以包括:video标签(一种视频标签)、image标签(一种图像标签)、canvas标签(一种画布标签)等多个标签。\n[0063] 其中,图1中的getUsermedia()可以为html5中的一个函数,为本领域技术人员熟知的技术,在此不再赘述。\n[0064] 在图1所示的方法中,实现涉及图像采集设备的应用是需要借助多个html5标签配合实现,执行过程较为复杂。\n[0065] 为了解决上述问题,本实施例提供一种基于HTML5实现由于功能的方法,如图2所示,可以包括:\n[0066] 201、接收应用操作信息。\n[0067] 在执行待执行应用前,首先需要接收应用操作信息,然后根据接收到的应用操作信息执行待执行应用。\n[0068] 其中,所述应用操作信息可以但不限于包括:应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令可以用于指示所述待执行应用。\n[0069] 作为本实施例的一种实施方式,接收的应用操作信息可以但不限于为用户发送的。\n[0070] 202、查找与所述待执行应用对应的应用标签。\n[0071] 其中,所述应用标签是唯一的,即待执行应用只与唯一的一个应用标签对应。\n[0072] 203、根据所述操作对象的信息和所述应用标签执行所述待执行应用。\n[0073] 本实施例中,执行待执行应用时所需的数据全部包含于与待执行应用对应的唯一的一个应用标签中,以便可以只通过该唯一的一个应用标签便可以执行待执行应用。\n[0074] 本实施例中,接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;根据所述操作对象的信息和所述应用标签执行所述待执行应用。采用上述方案后,在执行待执行应用时,只需要借助与待执行应用对应的唯一的一个应用标签便可执行待执行应用,与现有技术中借助多个html5标签配合来执行相应的应用相比,简化了执行过程,同时也简化了开发过程。\n[0075] 在日常用户业务场合,如视频通话中,均会有对双摄像头使用的需求,但现有技术的方案仅支持打开一个摄像头,不能自由切换多个摄像头,降低了用户体验。\n[0076] 为了解决上述问题和背景技术中提到的问题,本实施例提供另一种基于HTML5实现应用功能的方法,其中,该方法是对图2所示的方法的进一步扩展和优化,且本实施例的执行主体可以但不限于为浏览器引擎,如图3所示,可以包括:\n[0077] 301、浏览器引擎接收用户发送的应用操作信息。\n[0078] 在执行待执行应用前,首先需要接收应用操作信息,然后根据接收到的应用操作信息执行待执行应用。\n[0079] 其中,应用操作信息可以但不限于包括:应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令可以用于指示所述待执行应用。\n[0080] 作为本实施例的一种实施方式,待执行应用可以但不限于为:涉及图像采集设备的应用、涉及语音采集设备的应用等。\n[0081] 例如,应用操作指令可以但不限于用于指示执行涉及图像采集设备的应用,应用操作信息可以包括:执行涉及图像采集设备的应用的应用操作指令,以及执行涉及图像采集设备的应用对应的操作对象的信息等。\n[0082] 进一步的,应用操作指令具体可以但不限于用于指示图像采集设备执行以下至少一项操作的应用:开启、关闭、拍照、摄像、图片浏览(浏览的图片可以为通过图像采集设备拍摄的图片或本地存储的图片)、切换摄像头等。其中,本实施例中提供的摄像头为设置于图像采集设备中的摄像头。\n[0083] 302、查找与所述待执行应用对应的应用标签。\n[0084] 其中,所述应用标签是唯一的。\n[0085] 本实施例中,为了简化开发过程和应用执行过程,可以将执行待执行应用所涉及的所有数据均封装与唯一的一个应用标签中,当执行待执行应用时,只借助该唯一的一个应用标签即可,即当执行待执行应用时,可以通过调用与待执行应用对应的唯一的一个应用标签中的相应数据来实现。\n[0086] 下面对应用标签进行简单的介绍。\n[0087] 进一步的,应用标签可以但不限于为HTML5标签,且应用标签可以是与HTML5标签结构相同的标签,例如,具体可以为canvas标签、或video标签等。\n[0088] 作为本实施例的一种实施方式,可以通过修改浏览器引擎的源码以得到本实施例提供应用标签。\n[0089] 进一步的,应用标签可以但不限于包括:接口层、业务逻辑层、平台适配层。其中,接口层可以但不限于为JavaScript接口层。\n[0090] 接口层可以包括:与至少一个不同的待执行应用一一对应的接口,可以用于提供给开发者使用,即用户可以通过接口层与浏览器引擎传输数据,在代码层次上可以表现为增加CameraCanvasContext.idl文件。\n[0091] 业务逻辑层可以包括:与至少一个不同的待执行应用对应的业务逻辑执行代码,即业务逻辑层可以包括与至少一个不同的接口对应的业务逻辑执行代码,业务逻辑执行代码可以为待执行应用的执行方法,业务逻辑层还可以用于根据业务逻辑执行代码对待执行应用进行业务逻辑处理以及与平台适配层的交互等,具有承上启下的作用。平台适配层主要可以但不限于用于实现在不同操作系统平台上与硬件设备的交互。\n[0092] 值得说明的是,应用标签的结构与HTML5标签的结构相同,本实施例对HTML5标签的结构不作限定,为本领域技术人员熟知的技术,在此不再赘述。\n[0093] 303、浏览器引擎在所述接口层中查找与所述待执行应用对应的接口。\n[0094] 作为本实施例的一种实施方式,在接口层中可以设置有多个与不同应用一一对应的接口,例如,接口层中设置有6个接口,上述6个接口可以但不限于分别与实现以下涉及图像采集设备的应用一一对应:开启摄像头、关闭摄像头、拍照、摄像、图片浏览、切换摄像头。\n[0095] 例如,若待执行应用为用于开启图像采集设备的应用,则浏览器引擎可以首先在接口层中查找与开启图像采集设备的应用对应的接口。本实施例并不限于上述列举的例子,还可以为其他情景,在此不再赘述。\n[0096] 304、浏览器引擎从所述业务逻辑层中查找与所述接口对应的业务逻辑执行代码。\n[0097] 作为本实施例的一种实施方式,在应用标签的业务逻辑层中可以存储与待执行应用对应的业务逻辑执行代码,即待执行应用的执行方法,浏览器引擎在查找到与待执行应用对应的接口后,可以从所述业务逻辑层中查找与所述接口对应的业务逻辑执行代码。\n[0098] 本实施例对业务逻辑执行代码在业务逻辑层中的存储方式以及获取方式不作限定,可以根据实际需要进行设定,在此不再赘述。\n[0099] 305、在所述业务逻辑层上,浏览器引擎根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码。\n[0100] 进一步的,若所述待执行应用包括:用于切换摄像头的应用,则在所述业务逻辑层上,浏览器引擎根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码可以但不限于包括:\n[0101] 根据所述业务逻辑执行代码判断摄像头的数量是否大于1;\n[0102] 若摄像头的数量大于1,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头和待开启的指定摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识和所述待开启的指定摄像头的标识。\n[0103] 进一步的,若所述待执行应用包括:用于开启摄像头的应用,则在所述业务逻辑层上,浏览器引擎根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码可以包括:\n[0104] 根据所述业务逻辑执行代码和所述操作对象的信息判断待开启的指定摄像头是否允许被使用,所述操作对象包括:所述待开启的指定摄像头;\n[0105] 若所述待开启的指定摄像头被允许使用,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述硬件交互执行代码包括:所述待开启的指定摄像头的标识。\n[0106] 进一步的,若所述待执行应用包括:用于拍摄图像的应用,则在所述业务逻辑层上,浏览器引擎根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码可以包括:\n[0107] 根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识。\n[0108] 作为本实施例的一种实施方式,在业务逻辑层对应用进行的逻辑处理可以放在c++实现类CameraRenderingContext中进行处理。\n[0109] 值得说明的是,本实施例中提供的接口层中可以包括与至少一个应用对应的接口,业务逻辑处理层可以包括与所述至少一个应用对应的业务逻辑执行代码。即接口层中可以包括与用于切换摄像头的应用、用于开启摄像头的应用、用于拍摄图像的应用等至少一种应用对应的接口,业务逻辑处理层可以包括与上述至少一个应用对应的业务逻辑执行代码。\n[0110] 本实施例对待执行应用的种类不作限定,可以根据实际需要进行设定,在此不再赘述。\n[0111] 306、在所述平台适配层上,浏览器引擎根据所述硬件交互执行代码指示所述操作对象执行相应操作。\n[0112] 作为本实施例的一种实施方式,浏览器引擎可以是通过平台适配层与相应的硬件即待执行应用对应的操作对象的信息进行交互的。\n[0113] 所述硬件交互执行代码可以是业务逻辑层发送至平台适配层的。\n[0114] 进一步的,若所述待执行应用包括:用于切换摄像头的应用,则在所述平台适配层上,浏览器引擎根据所述硬件交互执行代码指示所述操作对象执行相应操作可以包括:\n[0115] 根据所述硬件交互执行代码指示所述待开启的指定摄像头开启,并指示所述当前开启的摄像头关闭。\n[0116] 进一步的,若所述待执行应用包括:用于开启摄像头的应用,则在所述平台适配层上,浏览器引擎根据所述硬件交互执行代码指示所述操作对象执行相应操作可以包括:\n[0117] 根据所述硬件交互执行代码指示所述待开启的指定摄像头开启。\n[0118] 进一步的,若所述待执行应用包括:用于拍摄图像的应用,则在所述业务逻辑层上,浏览器引擎根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码可以包括:\n[0119] 根据所述硬件交互执行代码指示所述当前开启的摄像头执行拍照操作。\n[0120] 本实施例对在所述平台适配层上,浏览器引擎根据所述硬件交互执行代码指示所述操作对象执行相应操作的方法不作限定,为本领域技术人员熟知的技术,在此不再赘述。\n[0121] 另外,在应用标签中的平台适配层上,浏览器引擎还可以实现针对某一待执行应用在对应的唯一的一个应用标签中的接口、业务逻辑执行代码以及操作对象的硬件接口的封装,方便在后续再执行该应用时可以直接使用封装后的数据。\n[0122] 或者,浏览器引擎还可以只将所述硬件交互执行代码与相应的操作对象的信息进行封装,方便在后续再执行该应用时直接使用封装后的数据。\n[0123] 本实施例对相应的对硬件交互执行代码与操作对象的信息进行封装的方法不作限定,为本领域技术人员熟知的技术,在此不再赘述。\n[0124] 综上,根据唯一的一个应用标签执行待执行应用的步骤可以包括:\n[0125] 浏览器引擎在接口层中确定与待执行应用对应的接口;从所述业务逻辑层中查找与所述接口对应的业务逻辑执行代码;在所述业务逻辑层上,根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码,并将硬件交互执行代码发送至平台适配层;在所述平台适配层上,根据所述硬件交互执行代码指示所述操作对象执行相应操作,所述相应操作为所述待执行应用对应的操作。\n[0126] 本实施例可以主要应用于移动操作系统中有关实时视频媒体相关场合,如,图像采集设备、录像机、视频通话等。\n[0127] 下面列举一个具体的例子。\n[0128] 以待执行应用为用于浏览已拍图片的应用为例进行说明,如图4所示,为执行用于浏览已拍图片的应用的流程图。\n[0129] 当网络应用程序执行浏览所拍照片的操作时,浏览器引擎可以通过与用于浏览已拍图片的应用对应的唯一的一个应用标签实现该应用,具体可以包括:浏览器引擎在所述接口层中查找与用于浏览已拍图片的应用对应的接口;从所述业务逻辑层中查找与该接口对应的业务逻辑执行代码,即从所述业务逻辑层中查找用于浏览已拍图片的应用的执行方法;在所述业务逻辑层上,根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码,具体可以包括:获取本地图片的个数;判断本地图片个数是否小于1;若图片个数小于1,则执行本次用于浏览已拍图片的应用失败并退出程序,若图片个数不小于1,则把待浏览的指定图片读取出来,并根据所在系统的数据显示格式对指定图片进行格式转换;在业务逻辑层中生成硬件交互执行代码,并将硬件交互执行代码发送至平台适配层中;在所述平台适配层上,根据所述硬件交互执行代码指示所述操作对象执行相应操作,具体可以包括:把进行格式转换后的指定图片绘制到画布中去以实现指定图片的显示,还可以根据情况对图片的大小、方向等进行调整,然后可以更新数据。\n[0130] 再如,在通过上述实施例可以实现实时显示本地预览图像、抓拍本地图像、浏览本地照片等操作,操作流程可以包括:\n[0131] 1、从移动终端的应用列表中选择图像采集设备应用图标并打开,系统默认打开后置摄像头,此时显示后置摄像头的预览实时图像。\n[0132] 2、点击拍照按钮拍照,获取图片并以jpeg格式保存为本地文件。\n[0133] 3、拍照结束,恢复预览为拍照前状态。\n[0134] 4、点击切换按钮,切换摄像头为前置,此时显示前置预览实时图像。\n[0135] 5、点击取图按钮,预览图库中已存照片,此时出所想要查看的图片。\n[0136] 6、关闭摄像头,回到应用列表。\n[0137] 本实施例中,接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;根据所述操作对象的信息和所述应用标签执行所述待执行应用。采用上述方案后,在执行待执行应用时,只需要借助与待执行应用对应的唯一的一个应用标签便可执行待执行应用,与现有技术中借助多个html5标签配合来执行相应的应用相比,简化了实现过程,同时也简化了开发过程,另外,可以通过图像采集设备标签实现摄像头的切换。\n[0138] 下面提供一些装置实施例,该装置实施例分别于上述提供的相应的方法实施例相对应。\n[0139] 本实施例提供一种基于HTML5实现应用功能的装置,如图5所示,可以包括:\n[0140] 接收单元51,用于接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;\n[0141] 查找单元52,用于查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;\n[0142] 执行单元53,用于根据所述操作对象的信息和所述应用标签执行所述待执行应用。\n[0143] 本实施例中,接收单元,用于接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;\n查找单元,用于查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;执行单元,用于根据所述操作对象的信息和所述应用标签执行所述待执行应用。采用上述方案后,在执行待执行应用时,只需要借助与待执行应用对应的唯一的一个应用标签便可执行待执行应用,与现有技术中借助多个html5标签配合来执行相应的应用相比,简化了实现过程,同时也简化了开发过程。\n[0144] 本实施例提供另一种基于HTML5实现应用功能的装置,该装置是对图5所示的装置在进一步扩展和优化,如图6所示,可以包括:\n[0145] 接收单元61,用于接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;\n[0146] 查找单元62,用于查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;\n[0147] 执行单元63,用于根据所述操作对象的信息和所述应用标签执行所述待执行应用。\n[0148] 进一步的,所述应用标签包括:接口层、业务逻辑层、平台适配层;\n[0149] 所述执行单元63,包括:\n[0150] 查找模块631,用于在所述接口层中查找与所述待执行应用对应的接口;从所述业务逻辑层中查找与所述接口对应的业务逻辑执行代码;\n[0151] 业务逻辑处理模块632,用于在所述业务逻辑层上,根据所述操作对象的信息对所述业务逻辑执行代码进行业务逻辑处理,得到硬件交互执行代码;\n[0152] 执行模块633,用于在所述平台适配层上,根据所述硬件交互执行代码指示所述操作对象执行相应操作,所述相应操作为所述待执行应用对应的操作。\n[0153] 进一步的,所述待执行应用包括:用于切换摄像头的应用;\n[0154] 所述业务逻辑处理模块632,具体用于根据所述业务逻辑执行代码判断摄像头的数量是否大于1;若摄像头的数量大于1,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头和待开启的指定摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识和所述待开启的指定摄像头的标识;\n[0155] 所述执行模块633,具体用于根据所述硬件交互执行代码指示所述待开启的指定摄像头开启,并指示所述当前开启的摄像头关闭。\n[0156] 进一步的,所述待执行应用包括:用于开启摄像头的应用;\n[0157] 所述业务逻辑处理模块632,具体用于根据所述业务逻辑执行代码和所述操作对象的信息判断待开启的指定摄像头是否允许被使用,所述操作对象包括:所述待开启的指定摄像头;若所述待开启的指定摄像头被允许使用,则根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述硬件交互执行代码包括:所述待开启的指定摄像头的标识;\n[0158] 所述执行模块633,具体用于根据所述硬件交互执行代码指示所述待开启的指定摄像头开启。\n[0159] 进一步的,所述待执行应用包括:用于拍摄图像的应用;\n[0160] 所述业务逻辑处理模块632,具体用于根据所述业务逻辑执行代码和所述操作对象的信息生成所述硬件交互执行代码,所述操作对象包括:当前开启的摄像头,所述硬件交互执行代码包括:所述当前开启的摄像头的标识;\n[0161] 所述执行模块633,具体用于根据所述硬件交互执行代码指示所述当前开启的摄像头执行拍照操作。\n[0162] 本实施例中,接收单元,用于接收应用操作信息,所述应用操作信息包括应用操作指令和待执行应用对应的操作对象的信息,所述应用操作指令用于指示所述待执行应用;\n查找单元,用于查找与所述待执行应用对应的应用标签,所述应用标签是唯一的;执行单元,用于根据所述操作对象的信息和所述应用标签执行所述待执行应用。采用上述方案后,在执行待执行应用时,只需要借助与待执行应用对应的唯一的一个应用标签便可执行待执行应用,与现有技术中借助多个html5标签配合来执行相应的应用相比,简化了实现过程,同时也简化了开发过程,另外,可以通过图像采集设备标签实现摄像头的切换。\n[0163] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。\n[0164] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
法律信息
- 2017-02-08
- 2014-04-16
实质审查的生效
IPC(主分类): G06F 9/44
专利申请号: 201310635003.8
申请日: 2013.12.02
- 2014-03-19
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2013-05-15
|
2013-02-27
| | |
2
| |
2013-08-07
|
2013-05-08
| | |
3
| |
2008-01-16
|
2007-08-10
| | |
4
| |
2013-08-14
|
2012-02-08
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |