一种应用调用方法及用户终端的制作方法

文档序号:6501512阅读:131来源:国知局
一种应用调用方法及用户终端的制作方法
【专利摘要】本发明实施例公开了一种应用调用方法及用户终端,涉及通信领域,实现了Web应用对原生的调用。通过获取第一Web应用生成的第二Web应用的调用信息,所述第二Web应用的调用信息包括所要调用的第二Web应用的服务类型和/或待处理数据类型;根据所述第二Web应用的调用信息,采用预设调用策略调用原生应用处理待处理数据;获取所述原生应用处理后的数据结果,并将所述处理后的数据发送给所述第一Web应用。
【专利说明】一种应用调用方法及用户终端

【技术领域】
[0001] 本发明涉及通信领域,尤其涉及一种应用调用方法及用户终端。

【背景技术】
[0002] Web应用是指使用浏览器支持的语言开发的、运行于各种浏览器和互联网络上的、 可以完成至少一个特定功能的应用,如:在线网络游戏、网页QQ等。原生应用是指针对特定 的操作系统的开发接口和该操作系统支持的开发语言开发的,需要下载到用户终端,并进 行安装后才能够供用户使用的,运行于用户终端的应用。
[0003] 为了实现不同应用的功能的集成,业界提出了 Web Intents技术和Android Intents技术。Web Intents技术提供了一种Web应用集成机制,Android Intents技术提 供了一种Android系统原生应用的集成机制。具体的,当应用A处理一个任务时,若应用A 不具备该任务对应的服务类别(如分享、编辑、发送等)或者处理该任务对应的数据类型的 功能时,则应用A可以调用应用B,以使应用B处理该任务,并从应用B获取处理结果。应 用B为具备该任务对应的服务类别或者处理该任务对应的数据类型的功能的应用。其中, 应用A为Web应用,应用B为Web应用;或者应用A为原生应用,应用B为原生应用。
[0004] 现有技术中,由于Web Intents技术提供的集成机制为Web应用之间的集成的机 制,Android Intents技术提供的集成机制为Android系统原生应用之间的集成机制。因 此,用户在使用Web应用的过程中,Web应用可以通过Web应用调用其他Web应用的方式实 现对Web应用功能的集成,无法通过调用原生应用的方式实现对原生应用功能的集成。


【发明内容】

[0005] 本发明的实施例提供一种应用调用方法及用户终端,可以实现Web应用对原生应 用的调用。
[0006] 本发明实施例的第一方面,提供一种应用调用方法,包括:
[0007] 获取第一 Web应用生成的第二Web应用的调用信息,所述第二Web应用的调用信 息包括所要调用的第二Web应用的服务类型和/或待处理数据类型;根据所述第二Web应 用的调用信息,采用预设调用策略调用原生应用处理待处理数据;获取所述原生应用处理 后的数据结果,并将所述处理后的数据发送给所述第一 Web应用。
[0008] 在结合第一方面的第一种可能的实现方式中,所述根据所述第二Web应用的调用 信息,采用预设调用策略调用原生应用处理待处理数据,具体为:
[0009] 根据所述第二Web应用的调用信息生成原生应用的调用信息,所述原生应用的调 用信息中包含所要调用的原生应用的服务类型和/或待处理数据类型;浏览器根据所述服 务类型和/或待处理数据类型在预配置的原生应用中查找与所述原生应用调用信息对应 的原生应用;并在查找到与所述原生应用的调用信息对应的原生应用后,将获取到的来自 第一 Web应用的待处理数据转发给所述查找到的原生应用,以便所述查找到的原生应用完 成对所述待处理数据的处理。
[0010] 在结合第一方面的第一种可能基础上的第二种可能的实现方式中,所述预设调用 策略还包括,在所述根据所述第二Web应用的调用信息生成原生应用调用信息之前,还包 括下述判断条件中的任一项:
[0011] 判断是否能够访问对应于所述第二Web应用的调用信息的第二Web应用,并在判 断结果为无法访问对应于所述第二Web应用的调用信息的第二Web应用时,根据所述第二 Web应用的调用信息生成原生应用调用信息;或者,
[0012] 获取到第二Web应用的调用信息所对应的第二Web应用的反馈信息,所述反馈信 息表明第二Web应用的功能不足以处理待处理数据时;则根据所述第二Web应用的调用信 息生成原生应用调用信息;或者,
[0013] 根据第二Web应用的调用信息找到了对应的第二Web应用,并根据预设调用策略, 根据所述第二Web应用的调用信息生成原生应用调用信息。
[0014] 在结合第一方面的第一种可能或者结合第一方面的第二种可能基础上的第三种 可能的实现方式中,所述在预配置的原生应用中查找与所述原生应用调用信息对应的原生 应用,还包括:
[0015] 统计所述查找到的原生应用的数量;若所述数量大于1,则生成原生应用列表,所 述原生应用列表包括所有根据所述服务类型和/或待处理数据类型查找到的原生应用;向 用户显示所述原生应用列表;响应于所述用户在原生应用列表中的选择操作,调用被选择 的原生应用处理所述待处理数据。
[0016] 在结合第一方面的第三种可能基础上的第四种可能实现方式,其特征在于,所述 原生应用列表中包括原生应用的描述信息,所述原生应用的描述信息中包含所述满足所述 预设调用策略的原生应用的应用名称、应用标识、应用图标中的至少一项。
[0017] 在上述第一方面的上述几种可能的实现方式中任一一种基础上的第五种可能的 实现方式,其特征在于,若统计所述查找到的原生应用的数量等于1,则直接调用所述满足 所述预设调用策略的原生应用处理所述待处理数据。
[0018] 在结合第一方面或者上述第一方面的上述几种可能的实现方式中任 种基础 上的第六种可能的实现方式中,其特征在于,调用所述原生应用处理所述待处理数据,获取 处理后的数据,具体包括:
[0019] 通过请求对象发送接口向原生应用所在系统发送原生应用调用请求,并通过回调 接口等待接收所述原生应用处理结果。
[0020] 在结合上述第一方面的上述几种可能的实现方式中任一一种基础上的第七种可 能的实现方式中,在所述根据所述第二Web应用的调用信息生成原生应用调用信息之前, 所述方法还包括:
[0021] 查询所述第二Web应用所在终端是否已授权所述原生应用的调用权限;所述根据 所述第二Web应用的调用信息生成原生应用调用信息具体为:若已授权所述调用权限,则 根据所述第二Web应用的调用信息生成所述原生应用调用信息。
[0022] 本发明实施例的第二方面,还提供一种应用调用装置,包括:
[0023] 获取单元,用于获取Web应用生成的第二Web应用的调用信息,所述第二Web应用 的调用信息中包括Web应用的服务类型和/或待处理数据类型;处理单元,用于根据所述获 取单元获取的所述第二Web应用的调用信息,采用预设调用策略调用原生应用处理所述待 处理数据;返回单元,用于获取处理单元处理后的数据结果,并将所述处理后的数据结果返 回至所述Web应用。
[0024] 在结合第二方面的第一种可能的实现方式中,所述处理单元,还包括:
[0025] 提取子单元,用于从所述第二Web应用的调用信息中除了提取服务类型和/或待 处理数据类型外,还提取待处理的数据;第一生成子单元,用于根据所述第二Web应用的调 用信息生成原生应用调用信息,所述原生应用调用信息中包含所要调用的原生应用的服务 类型和/或待处理数据类型;查找子单元,用于根据所述第一生成子单元生成的所述原生 应用调用信息在预配置的原生应用中查找与所述原生应用调用信息对应的原生应用;第一 调用子单元,用于调用所述查找到的原生应用处理所述待处理数据。
[0026] 在结合第二方面的第一种可能的实现方式基础上的第二种可能的实现方式,所述 第一调用子单元,包括:
[0027] 发送子单元,用于通过请求对象发送接口向原生应用所在的系统发送原生应用调 用请求;接收子单元,用于通过回调接口等待所述原生应用的处理结果。
[0028] 在结合第二方面的第一种可能或第二种可能的实现方式基础上的第三种可能的 实现方式,所述处理单元,还包括:
[0029] 第二生成子单元,用于根据所述查找子单元查找到的一个或多个原生应用生成的 原生应用列表,所述原生应用列表中包括原生应用的描述信息,所述原生应用的描述信息 中包含所述满足所述预设调用策略的原生应用的应用名称、应用标识、应用图标中的至少 一项。
[0030] 在结合第二方面的上述几种可能的实现方式基础上的第四种可能的实现方式,所 述处理单元,还包括:
[0031] 查询单元,用于在所述第一生成子单元根据所述第二Web应用的调用信息生成所 述原生应用调用信息之前,查询用户是否已授权所述原生应用的调用权限;
[0032] 所述第一生成子单元,还用于若已授权所述调用权限,则根据所述第二Web应用 的调用信息生成所述原生应用调用信息。
[0033] 本发明实施例提供的应用调用方法及用户终端,响应于用户的触发,获取第二Web 应用调用信息,第二Web应用调用信息包括第二Web应用的服务类型和/或待处理数据类 型,然后根据第二Web应用的调用信息采用预设调用策略调用原生应用处理待处理数据, 获取处理后的数据,并将处理后的数据返回至第一 Web应用。与现有技术中,Web应用仅可 以调用其他Web应用处理待处理数据相比,本发明可以实现Web应用对原生应用的调用。

【专利附图】

【附图说明】
[0034] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
[0035] 图1为本发明实施例1中的应用调用方法流程图;
[0036] 图2为本发明实施例2中的应用调用方法流程图;
[0037] 图3为本发明实施例3中的一种用户终端的组成示意图;
[0038] 图4为本发明实施例3中的另一种用户终端的组成示意图;
[0039] 图5为本发明实施例3中的另一种用户终端的组成示意图;
[0040] 图6为本发明实施例4中的一种用户终端的组成示意图。

【具体实施方式】
[0041] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0042] 实施例1
[0043] 本发明实施例提供一种应用调用方法,如图1所示,包括:
[0044] 101、获取第一 Web应用生成的第二Web应用的调用信息,所述第二Web应用的调 用信息包括所要调用的第二Web应用的服务类型和/或待处理数据类型。
[0045] 具体的,第一 Web应用和第二Web应用都属于Web应用,而Web应用是指使用浏 览器支持的语言开发的、运行于各种浏览器和互联网络上的、可以完成至少一个特定功能 的应用;原生应用是指针对特定的操作系统的开发接口和该操作系统支持的开发语言开发 的,需要下载到用户终端,并进行安装,运行于用户终端的应用。
[0046] 与原生应用相比,Web应用有如下优点:Web应用具有跨平台、跨终端特性,技术人 员进行一次编码,开发出一个Web应用后,该Web应用就可以在各个平台或终端上运行,很 大程度上降低了开发成本;Web应用运行于浏览器和互联网络上,不需要为具体的用户终 端定制版本,因此Web应用有更为方便的功能升级特性;Web应用的数据保存在网络侧服务 器上,数据安全性和可靠性相比原生应用的更高。
[0047] 但是,Web应用也存在一些问题,例如,由于Web应用受限于现有的开发语言,Web 应用的性能和用户体验有待提升;由于Web应用运行于浏览器和互联网络上,因此,Web应 用不能支持离线功能,即当网络中断服务时Web应用状态对于用户来说是不可用的;由于 Web应用运行于浏览器和互联网络上,不需要为具体的用户终端定制版本,但是也因为这个 原因造成了 Web应用对用户终端的硬件资源的调用能力不足,与用户终端的硬件资源相关 的应用功能会受到限制。
[0048] 原生应用依附于用户终端的操作系统,可以调用用户终端硬件资源,可以支持在 线和离线功能。例如,当网络中断服务时,用户仍可以使用安装在用户终端上的图像处理应 用软件对待处理图像进行处理。但是,原生应用也存在一些不足,例如,各个操作系统都有 各自的开发标准和接口,同样功能的原生应用需要针对不同的操作系统开发符合相应标准 的版本;由此带来的同时维护多个操作系统的成本也会比较高;原生应用功能的升级需要 频繁的下载和安装等。
[0049] 例如,用户使用一个新闻阅读类应用(第一 Web应用),当用户在使用该新闻阅读 类应用阅读新闻快报时,若希望将某条新闻分享给好友,则可以通过点击该Web应用网页 上的分享按钮,用户终端响应于用户的点击操作,获取到第二Web应用的调用信息(具体方 式可以是浏览器截获向该Web应用网页的的HTML信息获取),该第二Web应用的调用信息 中包括的第二Web应用服务类型为分享,待处理数据类型为普通文本;该Web应用调用信息 中还包括用户希望分享的新闻的统一资源定位器(Uniform Resource Locator, URL)地址 (网页地址)。第二Web应用的调用信息也可以是用户终端在响应于用户的操作,打开一个 Web网页后,即触发第一 Web应用产生对第二Web应用的调用信息;因此,产生第二Web应 用的调用信息的触发方式并不局限于上述已经公开的方式,还可以是本领域技术人员所熟 知的如:在编辑栏输入完文字后的回车操作、在Web网页上相应具有操作链接图片上的点 击操作或者是完成某种用于作为第二Web应用的输入对象的内容的完成等等。
[0050] 本发明的应用场景不也不局限于所述用户终端访问Web应用;还可以是其它智能 终端,如智能家居通过互联网访问服务器中的第一 Web应用,获取天气信息,进一步调用第 二Web应用将所述信息发送给用户终端等。
[0051] 102、根据所述第二Web应用的调用信息,采用预设调用策略调用原生应用处理待 处理数据;
[0052] 可选的,所述根据所述第二Web应用的调用信息,采用预设调用策略调用原生应 用处理所述待处理数据,具体为:
[0053] 浏览器根据所述第二Web应用的调用信息生成原生应用的调用信息,所述原生应 用的调用信息中包含所要调用的原生应用的服务类型和/或待处理数据类型;
[0054] 浏览器根据所述服务类型和/或待处理数据类型在预配置的原生应用中查找与 所述原生应用调用信息对应的原生应用;
[0055] 并在查找到与所述原生应用的调用信息对应的原生应用后,将获取到的来自第一 Web应用的待处理数据转发给所述查找到的原生应用,以便所述查找到的原生应用完成对 所述待处理数据的处理。
[0056] 可选的,其中将获取到的来自第一 Web应用的待处理数据,具体是在查找到与所 述原生应用的调用信息对应的原生应用后,向第一 Web应用反馈查找到所需的原生应用的 响应消息,其中,所述原生应用够提供第二Web应用的调用信息中包含的服务类型和/或待 处理数据类型所要求的功能;接收所述第一 Web应用传递来的待处理数据,并完成后续的 将所述待处理数据转发给所述查找到的原生应用,以便所述查找到的原生应用完成对所述 待处理数据的处理。
[0057] 可选的,所述第二Web应用的调用信息中还包括待处理数据,则其中将获取到的 来自第一 Web应用的待处理数据,具体是:
[0058] 浏览器从所述Web应用调用信息中抽取服务类型和/或待处理数据类型;根据原 生应用调用规则将提取出服务类型和/或待处理数据类型生成原生应用调用信息;浏览器 根据所述原生应用的服务类型和/或待处理数据类型在预配置的原生应用中查找与所述 原生应用调用信息对应的原生应用;并将所述待处理数据转发给上述查找到的原生应用, 以便所述查找到的原生应用完成对所述待处理数据的处理。其中,所述待处理数据还可以 是在生成的原生应用的调用信息时,就携带在所述原生应用的调用信息中,从而在查询到 相应的原生应用同时,可以直接启动该原生应用对待处理数据的处理。
[0059] 其中,预配置的原生应用可以是通用的拥有记录功能的配置文件,如注册表、xml 文档、文本文档等等。
[0060] 所述采用预设调用策略调用原生应用处理待处理数据还包括,在所述浏览器根据 所述第二Web应用的调用信息生成原生应用调用信息之前,还包括执行下述操作中的任一 项:
[0061] 1)、浏览器判断是否能够访问对应于所述第二Web应用的调用信息的第二Web应 用,并在判断结果为浏览器无法访问所述第二Web应用时,浏览器根据所述第二Web应用的 调用信息生成原生应用调用信息;
[0062] 具体的,本判断条件可能出现在如:浏览器中某个网站(第一 Web应用)内容提供 了网页QQ的联络方式链接,而在点击该链接时由于网站的问题而无法正常打开网页QQ(第 二Web应用)联络方式;此时,浏览器便可以根据点击连接操作和反馈的失败信息,重新生 成原生应用调用信息。例如:生成调用用户终端上安装了的QQ应用(原生应用)的调用信 息。其中,浏览器无法访问所述第二Web应用还包括:第二Web应用连接不到其对应服务 器、第二Web应用关联库出现问题无法启动等原因
[0063] 2)浏览器获取到第二Web应用的调用信息所对应的第二Web应用的反馈信息,所 述反馈信息表明第二Web应用的功能不足以处理待处理数据时;则所述浏览器根据所述第 二Web应用的调用信息生成原生应用调用信息;
[0064] 具体的,针对上述Web应用和原生应用的优缺点,当第二Web应用的功能不足以处 理待处理数据时,或者该第二Web应用不具备处理待处理数据的功能;该第二Web应用可以 向用户终端反馈该第二Web应用不具备处理待处理数据的功能的反馈信息,根据第二Web 应用的调用信息生成原生应用的调用信息,并调用用户终端中的具备处理待处理数据的能 力的原生应用。其中,第二Web应用不具备处理该待处理数据的能力,还可以是第二Web应 用版本过低不支持处理的数据。
[0065] 在本发明中,根据所述第二Web应用的调用信息生成原生应用调用信息的对象不 局限于浏览器,具体的还可以是所述第一 Web应用在用户终端上运行的应用模块(例如: Andriod手机中的新浪APP),而该应用模块内部调用实现是基于Web设计和开发的(如:新 浪APP获取网上的微博信息等),或者是其他独立的应用模块(例如:包含了浏览器功能的 类似应用)。后续的实施例将集中通过浏览器来描述其实现,而本领域的技术人员可以通过 揭示的技术特征容易的扩展到上述其他的应用模块中去。
[0066] 3)浏览器根据第二Web应用的调用信息找到了对应的第二Web应用,并根据性能 比较策略,根据所述第二Web应用的调用信息生成原生应用调用信息。
[0067] 具体的,情况3)中的预设调用策略可以包括:1浏览器向用户终端反馈预计流量 的方式,于是,便会在根据第二Web应用调用信息找到了对应的第二Web应用之后,再生成 原生应用调用信息,以便于在有可能找到替代第二Web应用的原生应用的情况下,使用更 为节约流量的原生应用来执行第一 Web应用的功能需求;II浏览器向用户终端反馈所有可 以满足第一 Web应用的功能需求的第二Web应用和原生应用,并最后通过用户的选择来决 定是采用哪一个原生应用或者第二Web应用来完成第一 Web应用的功能需求。其中,所述 功能需求可以是本发明中实现对待处理数据的处理。
[0068] 可选的,所述在预配置的原生应用中查找与所述原生应用调用信息对应的原生应 用,还包括:
[0069] 统计所述查找到的原生应用的数量;若所述数量大于1,则生成原生应用列表,所 述原生应用列表包括所有根据所述服务类型和/或待处理数据类型查找到的原生应用;向 用户显示所述原生应用列表;响应于所述用户在原生应用列表中的选择操作,调用被选择 的原生应用处理所述待处理数据。
[0070] 优选的,若统计所述查找到的原生应用的数量等于1,则直接调用所述满足所述预 设调用策略的原生应用处理所述待处理数据。
[0071] 可选的,所述原生应用列表中包括原生应用的描述信息,所述原生应用的描述信 息中包含所述满足所述预设调用策略的原生应用的应用名称、应用标识、应用图标中的至 少一项。
[0072] 103、获取所述原生应用处理后的数据结果,并将所述处理后的数据发送给所述第 一 Web应用。
[0073] 优选的,调用所述原生应用处理所述待处理数据,获取处理后的数据,具体包括:
[0074] 浏览器通过请求对象发送接口,向原生应用所在系统发送原生应用调用请求,并 通过回调接口等待接收所述原生应用处理结果。
[0075] 在优选的方案中,请求对象发送接口可以是" startActivityForResultO "函数, 而回调接口可以是" onActivityResult () "。
[0076] 被调用原生应用将处理结果通过结果返回接口" setResult () "写入处理结果对 象,上述回调接口接收所述原生应用所在系统发送的处理结果对象" intent"。
[0077] 本发明实施例提供的应用调用方法,获取第一 Web应用生成的第二Web应用的调 用信息,第二Web应用的调用信息中包括第二Web应用的服务类型和/或待处理数据类型, 然后根据第二Web应用的调用信息采用预设调用策略调用原生应用处理待处理数据,获取 处理后的数据,并将处理后的数据返回至第一 Web应用。与现有技术中,Web应用仅可以调 用其他Web应用处理待处理数据相比,实现Web应用对原生应用的调用,丰富了调用环境。
[0078] 实施例2
[0079] 本发明提供一种应用调用方法实施例,其中用于完成Web应用调用信息转换为原 生应用调用信息的是用户终端,而本领域技术人员容易想到其他用于Web技术实现的浏览 器、模块或者服务器均能应用本实施例的方法。相比实施例1,本实施例中Web应用调用信 息中包含的内容里增加了待处理数据或者待处理数据的存储标识的;其中预设调用策略包 括根据所述服务类型和/或待处理数据类型在预配置的原生应用中查找与所述原生应用 调用信息对应的原生应用,具体实现如图2所示,包括:
[0080] 201、用户终端获取第一 Web应用生成的第二Web应用的调用信息,所述第二Web 应用的调用信息不仅包括Web应用的服务类型和/或待处理数据类型,还包括待处理数据 或者待处理数据的存储标识。
[0081] 其中,当所述第二Web应用不具备处理待处理数据的功能时,该第二Web应用可以 向其当前所在的用户终端反馈该Web应用不具备处理待处理数据的功能的信息,该用户终 端则可以根据反馈信息获取第二Web应用调用信息。
[0082] 示例性的,Web应用的服务类型可以是用户终端所要调用的Web应用或者原生应 用能够提供的功能,如:编辑、发送、拨号、分享、查看等。待处理数据类型可以是网络侧服 务器所要调用的Web应用或者原生应用能够处理的数据类型,如JPEG ( -种图像格式)、 D0C(文本格式)等。
[0083] 202、用户终端根据所述第二Web应用的调用信息,调用能够提供该调用信息中包 含的服务类型和待处理数据类型所对应的原生应用;。
[0084] 上述服务类型和待处理数据类型可以单独作为查询原生应用的条件,也可以组合 起来更精确的查找到能够用于后续待处理数据处理的原生应用。
[0085] 可选的,在本发明实施例的一种应用场景中,在步骤202之前,本实施例的方法还 可以包括:
[0086] 用户终端查询原生应用授权信息,原生应用授权信息指示该第一 Web应用是否有 权通过用户终端调用查找到的原生应用;若原生应用授权信息为允许用户终端为所述第一 Web应用调用查找到的原生应用,则执行步骤202a-202c和后续流程;否则在执行完步骤 202a或者在执行完步骤202b或者在执行完步骤202c后向第一 Web应用返回调用失败响 应。
[0087] 其中,通过查询用户授权的方式可以限制用户终端对原生应用的调用,以避免对 原生应用的随意调用,进而可以保护用户终端的数据安全。
[0088] 202a、用户终端根据第二Web应用的调用信息生成原生应用调用信息,原生应用 调用信息中包含所要调用的原生应用的服务类型和待处理数据类型。
[0089] 为了具体描述如何根据第二Web应用的调用信息生成原生应用的调用信息,下面 将结合Web Intend和原生Intend来具体阐述。
[0090] 用户终端从第二Web应用调的用信息中的Intend中提取出服务类型和/或待处 理数据类型信息。如:第一 Web应用触发生成的第二Web应用的调用信息中包含的:
[0091] Intent (http://webintents. org/edit,''image/jpeg,',,'http://mywebsite. com/ images/portrai t.jpeg,')
[0092] 其中" edit"便是提取出来的服务类型," jpeg"便是提取出来的待处理数据类型。 然后根据生成原生Intent参数规则(即S102中的原生应用调用规则的一种实现方式)生 成原生应用的调用信息,如下:
[0093] Intent ("android, intent, action. EDIT,',Uri. parse (〃 http://mywebsite. com/ images/portrait. jpeg"))
[0094] 其中"android, intent, action, edit"便是根据第二Web应用的调用信息中的服 务类型edit按照原生Intent参数规则转化而来。
[0095] 202b、用户终端根据原生应用调用信息在预配置的原生应用中查找与原生应用调 用信息对应的原生应用。
[0096] 需要说明的是,预配置的原生应用可以是用户使用用户终端从互联网上的任一网 站或者原生应用商店下载、并安装至用户终端的操作系统中的原生应用。其中,在原生应用 的安装过程中,原生应用的描述信息也会注册到用户终端的操作系统中。该描述信息可以 包括该信息可以包括所要注册的原生应用的应用名称、应用地址(如URL地址)、原生应用 服务类别、处理数据类型、应用标识、应用图标等。
[0097] 其中,用户终端根据原生应用调用信息在预配置的原生应用中查找与原生应用调 用信息对应的原生应用的具体方法可以是:用户终端采用原生应用的服务类型和/或待处 理数据类型对比预配置的原生应用的原生应用的服务类型和/或待处理数据类型;选择预 配置的原生应用的原生应用的服务类型和/或待处理数据类型与原生应用调用信息中的 原生应用的服务类型和/或待处理数据类型相同的原生应用,即为满足预设调用策略的原 生应用。
[0098] 示例性的,当第二Web应用的调用信息中仅包含第二Web应用的服务类型时,则原 生应用调用信息中仅包含原生应用的服务类型;当第二Web应用的调用信息中仅包含待处 理数据类型时,则原生应用调用信息中仅包含待处理数据类型。
[0099] 优选的,当第二Web应用的调用信息中包含第二Web应用的服务类型和待处理数 据类型时,则原生应用调用信息中原生应用的服务类型和待处理数据类型。其中,原生应用 调用信息中原生应用的服务类型和待处理数据类型与原生应用调用信息中仅包含原生应 用的服务类型或待处理数据类型相比,可以提高原生应用的查找精度,有效减少查找结果 中的应用数量。
[0100] 202c、用户终端根据查找到的原生应用生成原生应用列表,原生应用列表中包括 原生应用的描述信息,原生应用的描述信息中包含满足预设调用策略条件的原生应用的应 用名称、应用标识、应用图标中的至少一项。
[0101] 具体的,原生应用的描述信息为满足预设调用策略的预配置的原生应用被下载并 安装至用户终端时,存储于用户终端的操作系统上的该原生应用的应用名称、应用标识、应 用图标中的至少一项。
[0102] 优选的,当原生应用的描述信息中包含满足预设调用策略的原生应用的应用名 称、应用标识和应用图标时,用户终端则可以通过列表显示给用户更加全面的原生应用信 息,以便于用户进行对比选择。
[0103] 203、用户终端统计满足预设调用策略的原生应用的数量。
[0104] 204、用户终端判断用户终端统计的数量的大小,若统计的数量大于1,则执行步骤 205 ;若统计的数量等于1,则执行步骤208。
[0105] 205、用户终端生成原生应用列表,原生应用列表包括满足预设调用策略的原生应 用的描述信息。
[0106] 原生应用的描述信息中包含所述满足所述预设调用策略的原生应用的应用名称、 应用标识、应用图标中的至少一项。
[0107] 206、用户终端向用户显示原生应用列表。
[0108] 对应的,步骤206可以替换为用户终端向用户显示原生应用列表。
[0109] 207、用户终端响应于用户的操作,调用被选中的原生应用处理待处理数据。
[0110] 其中,被选中的原生应用为用户终端显示的原生应用列表中的一个原生应用的应 用名称和/或应用标识和/或应用图标对应的原生应用。
[0111] 具体的,用用户终端向用户显示原生应列表,以供用户选择,若用户选择原生应用 列表中的第一原生应用(即所需的原生应用),用户终端则可以调用第一原生应用处理待 处理数据。
[0112] 示例性的,用户终端调用第一原生应用具体包括:用户终端发送待处理数据或者 待处理数据的存储标识至第一原生应用,以调用第一原生应用处理待处理数据。
[0113] 208、用户终端直接调用满足预设调用策略的原生应用处理待处理数据。
[0114] 具体的,若用户终端统计的数量等于1,则表明用户终端在预配置的原生应用中查 找到的满足预设调用策略的原生应用和在已注册的Web应用中查找到的满足预设调用策 略的Web应用的总数为1,即用户终端仅查找到一个满足预设调用策略的原生应用。
[0115] 当用户终端仅查找到一个满足预设调用策略的原生应用时,用户终端则可以直接 发送待处理数据或者待处理数据的存储标识至满足预设调用策略的原生应用。
[0116] 209、用户终端获取处理后的数据,并将处理后的数据返回至第一 Web应用。
[0117] 为了便于本领域技术人员理解本发明的技术方案,以下通过具体的实施场景为 例,对本发明的方案加以说明。
[0118] 调用方第一 Web应用通过startActivity ()方法将Web Intent对象通过浏览器 传递给原生应用,原生应用可以通过调用对象的P〇stResult()和postFailureO方法写入 处理结果,调用方第一 Web应用则可通过onSuccess ()和onFailure ()回调函数获取原生 应用的响应。
[0119] 以下以安装有安卓Android系统和Android系统自带的浏览器的用户终端为例, 对本发明的方案加以说明。
[0120] 用户终端获取、调用原生应用的过程可以通过如下方式实现:用户终端响应于 用户的触发,通过浏览器打开的第一 Web应用的网页中,包括如下脚本代码:var intent =new Intent (http://webintents. org/edit," image/jpeg,',"http://mywebsite. com/ images/portrait, jpeg^);
[0121] window, navigator, start Activity(intent);
[0122] 通过上述脚本,第一 Web应用可以向浏览器获取单元发送一个Web Intent对象, 该对象中携带的参数包括:第一 Web应用需要调用的服务类型为编辑类服务的应用,待处 理的数据类型是JPEG格式图像,此外Web Intent对象中还包含需要编辑的JPEG图像的 URL地址。
[0123] 浏览器获取单元在接收到上述Web Intent对象后,传递给处理单元中的提取子单 元,所述提取子单元将Web Intent中包含的服务类型、待数据类型和待处理的数据提取出 来,并由第一生成子单元转化成如下形式的Android Intent对象(原生应用调用信息)发 送给查找子单元,其Android Intent对象格式如下:
[0124] Intent intent = new Intent ( "android, intent, action. EDIT,',
[0125] Uri. parse {" http://mywebsite.com/images/portrait.jpeg"));
[0126] startActivityForResult (intent, RequestCode);
[0127] 查找子单元在接收到上述Android Intent对象后(假设此时获取到的原生应用 只有一个,在优选的方案中不必再生成原生应用列表,而直接将待处理数据传递给查找到 的原生应用),第一调用子单元将查找满足要求的原生应用对上述请求进行处理,被调用的 原生应用在对图像进行处理前,可以根据对象中URL地址下载对应的JPEG图像,处理完成 后可以通过Activity的setResultO方法返回处理结果,所述处理结果经由接收子单元返 回给第一调用子单元。
[0128] 浏览器返回单元通过onActivityResultO回调方法接收处理结果,浏览器可以 将处理后的图像保存到本地数据库或文件中,并将图像的存储标识或存储路径通过上述 Web Intent对象的postResult ()和postFailure ()方法写入处理结果,第一 Web应用的网 页则可通过onSuccess ()和onFailure ()回调函数获取上述图像的存储标识或存储路径, 并通过应用程序编程接口(Application Programming Interface, API)接口获取图像数 据,从而完成第一 Web应用对原生应用的调用。
[0129] 可以知道,本实施例步骤203-步骤208都是可选的,在可替换的实施例中,选择对 应原生应用调用信息的所需的原生应用,可以由浏览器或者系统智能完成,而不需要用户 的接入。
[0130] 本发明实施例提供的应用调用方法,获取第一 Web应用生成的Web应用调用信息 (即第二Web应用的调用信息),Web应用调用信息中包括Web应用的服务类型和待处理数 据类型,以及待处理数据,然后根据Web应用调用信息采用预设调用策略调用第一原生应 用或第二Web应用处理待处理数据,获取处理后的数据,并将处理后的数据返回至第一 Web 应用。与现有技术中,Web应用仅可以调用其他Web应用处理待处理数据相比,还可以实现 Web应用对原生应用的调用。
[0131] 实施例3
[0132] 本发明实施例提供一种用户终端,如图3所示,包括:获取单元31、处理单元32、返 回单元33。
[0133] 获取单元31,用于获取第一 Web应用生成的第二Web应用的调用信息,所述第二 Web应用的调用信息中包括Web应用的服务类型和/或待处理数据类型。
[0134] 处理单元32,用于根据所述获取单元获取的所述第二Web应用的调用信息,采用 预设调用策略调用原生应用处理所述待处理数据;
[0135] 返回单元33,用于获取处理单元处理后的数据结果,并将所述处理后的数据结果 返回至所述Web应用。
[0136] 进一步的,在本实施例的一种应用场景中,如图4所示,所述处理单元32,可以包 括:提取子单元321、第一生成子单元322、查找子单元323、第一调用子单元324。
[0137] 提取子单元321,用于从所述第二Web应用的调用信息中除了提取服务类型和/或 待处理数据类型外,还提取待处理的数据。
[0138] 第一生成子单元322,用于根据所述第二Web应用的调用信息生成原生应用调用 信息,所述原生应用调用信息中包含所要调用的原生应用的服务类型和/或待处理数据类 型。
[0139] 查找子单元323,用于根据所述第一生成子单元生成的所述原生应用调用信息在 预配置的原生应用中查找与所述原生应用调用信息对应的原生应用。
[0140] 第一调用子单元324,用于调用所述查找到的原生应用处理待处理数据。
[0141] 进一步的,如图5所示,在本实施例的一种应用场景中,所述第一调用子单元324, 可以包括:发送子单元324a和接收子单元324b。
[0142] 发送子单元324a,用于通过请求对象发送接口向原生应用所在的系统发送原生应 用调用请求;
[0143] 接收子单元324b,用于通过回调接口等待所述原生应用的处理结果。
[0144] 进一步的,在本实施例的另一种应用场景中,所述处理单元32,可以包括:第二生 成子单元325。
[0145] 第二生成子单元325,用于根据所述查找子单元查找到的一个或多个原生应用生 成的原生应用列表,所述原生应用列表中包括原生应用的描述信息,所述原生应用的描述 信息中包含所述满足所述预设调用策略的原生应用的应用名称、应用标识、应用图标中的 至少一项。
[0146] 进一步的,在本实施例的一种应用场景中,所述处理单元32还包括鉴权子单元 326,所述鉴权子单元326可以设置在所述第二生成子单元325之前,也可以布局在所述第 二生成子单元325之后,下面就以布局在所述第二生成子单元325之前为背景做具体描 述:
[0147] 所述鉴权子单元326,用于在所述第一生成子单元根据所述第二Web应用的调用 信息生成所述原生应用调用信息之前,查询用户是否已授权所述原生应用的调用权限;所 述第二生成子单元325,还用于若已授权所述调用权限,则根据所述第二Web应用的调用信 息生成所述原生应用调用信息。
[0148] 需要说明的是,本发明实施例提供的用户终端中部分功能模块的具体描述可以参 考方法实施例中的对应内容,本实施例这里不再详细赘述。
[0149] 本发明实施例提供的用户终端,可以获取第一 Web应用生成的第二Web应用的调 用信息,第二Web应用的调用信息中包括第二Web应用的服务类型和/或待处理数据类型, 然后根据Web应用调用信息采用预设调用策略调用原生应用,获取处理后的数据,并将处 理后的数据返回至第一 Web应用。与现有技术中,Web应用仅可以调用其他Web应用处理 待处理数据相比,实现Web应用对原生的调用。
[0150] 实施例4
[0151] 本发明实施例提供一种用户终端,如图6所示,包括:
[0152] 接收器41,用于接收用户的触发指示。
[0153] 处理器42,用于获取第一 Web应用生成的第二Web应用的调用信息,所述第二Web 应用的调用信息包括所要调用的第二Web应用的服务类型和/或待处理数据类型;根据所 述第二Web应用的调用信息,采用预设调用策略调用原生应用处理待处理数据;获取所述 原生应用处理后的数据结果,并将所述处理后的数据发送给所述第一 Web应用。
[0154] 进一步的,所述处理器42,还用于根据所述第二Web应用的调用信息生成原生应 用的调用信息,所述原生应用的调用信息中包含所要调用的原生应用的服务类型和/或待 处理数据类型;浏览器根据所述服务类型和/或待处理数据类型在预配置的原生应用中查 找与所述原生应用调用信息对应的原生应用;并在查找到与所述原生应用的调用信息对 应的原生应用后,将获取到的来自第一 Web应用的待处理数据转发给所述查找到的原生应 用,以便所述查找到的原生应用完成对所述待处理数据的处理。
[0155] 进一步的,所述处理器42,还用于判断是否能够访问对应于所述第二Web应用的 调用信息的第二Web应用,并在判断结果为浏览器无法访问对应于所述第二Web应用的调 用信息的第二Web应用时,浏览器根据所述第二Web应用的调用信息生成原生应用调用信 息;或者,
[0156] 浏览器获取到第二Web应用的调用信息所对应的第二Web应用的反馈信息,所述 反馈信息表明第二Web应用的功能不足以处理待处理数据时;则所述浏览器根据所述第二 Web应用的调用信息生成原生应用调用信息;或者,
[0157] 浏览器根据第二Web应用的调用信息找到了对应的第二Web应用,并根据预设调 用策略,根据所述第二Web应用的调用信息生成原生应用调用信息。
[0158] 需要说明的是,本发明实施例提供的用户终端中部分功能模块的具体描述可以参 考方法实施例中的对应内容,本实施例这里不再详细赘述。
[0159] 本发明实施例提供的用户终端,可以获取第一 Web应用生成的第二Web应用的调 用信息,第二Web应用的调用信息中包括所需的第二Web应用的服务类型和/或待处理数 据类型,然后根据Web应用调用信息采用预设调用策略调用第一原生应用,获取处理后的 数据,并将处理后的数据返回至第一 Web应用。与现有技术中,Web应用仅可以调用其他Web 应用处理待处理数据相比,实现了 Web应用对原生的调用。
[0160] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借 助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳 的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部 分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计 算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0161] 以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应 涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为 准。
【权利要求】
1. 一种应用调用方法,其特征在于,包括: 获取第一 Web应用生成的第二Web应用的调用信息,所述第二Web应用的调用信息包 括所要调用的第二Web应用的服务类型和/或待处理数据类型; 根据所述第二Web应用的调用信息,采用预设调用策略调用原生应用处理待处理数 据; 获取所述原生应用处理后的数据结果,并将所述处理后的数据发送给所述第一 Web应 用。
2. 根据权利要求1所述的应用调用方法,其特征在于,所述根据所述第二Web应用的调 用信息,采用预设调用策略调用原生应用处理待处理数据,具体为: 根据所述第二Web应用的调用信息生成原生应用的调用信息,所述原生应用的调用信 息中包含所要调用的原生应用的服务类型和/或待处理数据类型; 根据所述服务类型和/或待处理数据类型在预配置的原生应用中查找与所述原生应 用调用信息对应的原生应用; 在查找到与所述原生应用的调用信息对应的原生应用后,将获取到的来自第一 Web应 用的待处理数据转发给所述查找到的原生应用。
3. 根据权利要求2所述的应用调用方法,其特征在于,所述预设调用策略调用原生应 用处理待处理数据还包括,在所述根据所述第二Web应用的调用信息生成原生应用调用信 息之前,还包括执行下述操作中的任一项: 判断是否能够访问对应于所述第二Web应用的调用信息的第二Web应用,并在判断结 果为无法访问对应于所述第二Web应用的调用信息的第二Web应用时,根据所述第二Web 应用的调用信息生成原生应用调用信息;或者, 获取到第二Web应用的调用信息所对应的第二Web应用的反馈信息,所述反馈信息表 明第二Web应用的功能不足以处理待处理数据时;则根据所述第二Web应用的调用信息生 成原生应用调用信息;或者, 根据第二Web应用的调用信息找到了对应的第二Web应用,并根据性能比较策略,根据 所述第二Web应用的调用信息生成原生应用调用信息。
4. 根据权利要求2或3所述的应用调用方法,其特征在于,所述在预配置的原生应用中 查找与所述原生应用调用信息对应的原生应用,还包括: 统计所述查找到的原生应用的数量; 若所述数量大于1,则生成原生应用列表,所述原生应用列表包括所有根据所述服务类 型和/或待处理数据类型查找到的原生应用的描述信息; 向用户显示所述原生应用列表; 响应于所述用户在原生应用列表中的选择操作,调用被选择的原生应用处理所述待处 理数据。
5. 根据权利要求4所述的应用调用方法,其特征在于, 所述原生应用的描述信息中包含所述满足所述预设调用策略的原生应用的应用名称、 应用标识、应用图标中的至少一项。
6. 根据权利要求2-5任一所述的应用调用方法,其特征在于,若统计所述查找到的原 生应用的数量等于1,则直接调用所述满足所述预设调用策略的原生应用处理所述待处理 数据。
7. 根据权利要求1-6中任一项所述的应用调用方法,其特征在于,调用所述原生应用 处理所述待处理数据,获取处理后的数据,具体包括: 通过请求对象发送接口向原生应用所在系统发送原生应用调用请求,并通过回调接口 等待接收系统返回的所述原生应用处理结果。
8. 根据权利要求2-7任一所述的应用调用方法,其特征在于,在所述根据所述第二Web 应用的调用信息生成原生应用调用信息之前,所述方法还包括: 查询所述第二Web应用所在终端是否已授权所述原生应用的调用权限; 所述根据所述第二Web应用的调用信息生成原生应用调用信息具体为: 若已授权所述调用权限,则根据所述第二Web应用的调用信息生成所述原生应用调用 信息。
9. 一种用户终端,其特征在于,包括: 获取单元,用于获取第一 Web应用生成的第二Web应用的调用信息,所述第二Web应用 的调用信息中包括Web应用的服务类型和/或待处理数据类型; 处理单元,用于根据所述获取单元获取的所述第二Web应用的调用信息,采用预设调 用策略调用原生应用处理所述待处理数据; 返回单元,用于获取处理单元处理后的数据结果,并将所述处理后的数据结果返回至 所述Web应用。
10. 根据权利要求9所述的用户终端,其特征在于,所述处理单元,还包括: 提取子单元,用于从所述第二Web应用的调用信息中除了提取服务类型和/或待处理 数据类型外; 第一生成子单元,用于根据所述第二Web应用的调用信息生成原生应用调用信息,所 述原生应用调用信息中包含所要调用的原生应用的服务类型和/或待处理数据类型; 查找子单元,用于根据所述第一生成子单元生成的所述原生应用调用信息在预配置的 原生应用中查找与所述原生应用的调用信息对应的原生应用; 第一调用子单元,用于调用所述查找到的原生应用处理待处理数据。
11. 根据权利要求10所述的用户终端,其特征在于,所述第一调用子单元,包括: 发送子单元,用于通过请求对象发送接口向原生应用所在的系统发送原生应用调用请 求; 接收子单元,用于通过回调接口等待所述原生应用的处理结果。
12. 根据权利要求9或10所述的用户终端,其特征在于,所述处理单元,还包括: 第二生成子单元,用于根据所述查找子单元查找到的一个或多个原生应用生成的原生 应用列表,所述原生应用列表中包括原生应用的描述信息,所述原生应用的描述信息中包 含所述满足所述预设调用策略的原生应用的应用名称、应用标识、应用图标中的至少一项。
13. 根据权利要求9-12任一所述的用户终端,其特征在于,所述处理单元,还包括: 鉴权子单元,用于在所述第一生成子单元根据所述第二Web应用的调用信息生成所述 原生应用调用信息之前,查询用户是否已授权所述原生应用的调用权限; 所述第二生成子单元,还用于若已授权所述调用权限,则根据所述第二Web应用的调 用信息生成所述原生应用调用信息。
【文档编号】G06F9/48GK104102537SQ201310117666
【公开日】2014年10月15日 申请日期:2013年4月7日 优先权日:2013年4月7日
【发明者】李德旭 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1