移动终端中实现软电话拨打的方法及装置与流程

文档序号:15594935发布日期:2018-10-02 19:24阅读:476来源:国知局

本发明涉及移动终端技术领域,尤其涉及一种移动终端中实现软电话拨打的方法及装置。



背景技术:

目前,业务人员主要是基于pc端所提供的各种功能页面处理各项业务,其中一种功能页面为业务人员提供软电话拨打功能,方便业务人员通过软电话拨打功能与客户沟通。可以理解,一旦业务人员仅携带了移动终端外出,例如智能手机,将无法基于pc端所提供的软电话拨打功能与客户沟通。

为此,现有技术中提出了一种基于移动终端中实现软电话拨打的方案,利用移动终端所提供的原生电话拨打接口执行软电话拨打。

然而,移动终端并非仅提供原生电话拨打接口,其所涉及的原生接口种类非常庞杂而且复杂度较高,对开发人员关于移动终端所提供原生接口以及相关原生代码的熟悉程度要求很高,从而导致开发成本居高不下。



技术实现要素:

为了解决上述技术问题,本发明的一个目的在于提供一种移动终端中实现软电话拨打的方法及装置。

其中,本发明所采用的技术方案为:

一方面,一种移动终端中实现软电话拨打的方法,包括:在运行于移动终端的应用程序中,加载提供软电话拨打功能的页面;根据所述页面中触发进行的软电话拨打操作,向所述应用程序发起软电话拨打请求;通过运行的njs中间层响应所述软电话拨打请求,并为所述应用程序调用所述移动终端提供的原生电话拨打接口;通过调用的原生电话拨打接口为所述应用程序执行软电话拨打。

另一方面,一种移动终端中实现软电话拨打的装置,包括:页面加载模块,用于在运行于移动终端的应用程序中,加载提供软电话拨打功能的页面;请求发起模块,用于根据所述页面中触发进行的软电话拨打操作,向所述应用程序发起软电话拨打请求;接口调用模块,用于通过运行的njs中间层响应所述软电话拨打请求,并为所述应用程序调用所述移动终端提供的原生电话拨打接口;软电话拨打模块,用于通过调用的原生电话拨打接口为所述应用程序执行软电话拨打。

在一示例性实施例中,所述装置还包括:中间层构建模块,用于为所述应用程序调用所述移动终端提供的原生电话拨打接口进行所述njs中间层的构建;中间层封装模块,用于将构建的njs中间层封装至所述应用程序的安装包;中间层加载模块,用于通过所述安装包在所述移动终端中的运行,加载所述njs中间层至所述移动终端的内存;中间层运行模块,用于当所述应用程序运行于所述移动终端时,触发加载至所述移动终端内存的所述njs中间层运行。

在一示例性实施例中,所述中间层构建模块包括:对象导入单元,用于导入用于描述所述原生电话拨打接口的原生类对象;对象关联单元,用于根据导入的原生类对象创建关联的实例对象;属性配置单元,用于为关联的实例对象配置调用属性,由配置了调用属性的实例对象构建得到所述njs中间层。

在一示例性实施例中,所述软电话拨打模块包括:参数提取单元,用于由所述软电话拨打请求中提取得到参数;参数传入单元,用于调用所述应用程序配置的参数传入接口将所述参数传入所述njs中间层;原生接口调用单元,用于根据传入的所述参数触发所述njs中间层调用所述移动终端提供的原生电话拨打接口。

在一示例性实施例中,所述原生接口调用单元包括:环境检测子单元,用于通过所述njs中间层检测所述移动终端中部署的运行环境;对象获取子单元,用于根据所述参数确定所述njs中间层中的实例对象,并根据检测到的运行环境由所述实例对象关联得到用于描述所述原生拨打电话的原生类对象;对象调用子单元,用于按照为所述实例对象配置的调用属性,进行所述原生类对象的调用。

另一方面,一种移动终端中实现软电话拨打的装置,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的移动终端中实现软电话拨打的方法。

另一方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的移动终端中实现软电话拨打的方法。

在上述技术方案中,通过运行于移动终端的应用程序中,加载提供软电话拨打功能的页面,并根据页面中触发进行的软电话拨打操作向应用程序发起软电话拨打请求,进而通过运行njs中间层响应软电话拨打请求,并为应用程序调用移动终端提供的原生电话拨打接口,以此为应用程序执行软电话拨打,也就是说,基于njs中间层,能够为应用程序调用移动终端提供的原生电话拨打接口,开发人员不需要熟悉移动终端所提供的原生接口以及相关原生代码即可独立开发,由此解决了现有技术所存在的开发成本过高的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种移动终端的硬件结构框图。

图2是根据一示例性实施例示出的一种移动终端中实现软电话拨打的方法的流程图。

图3是根据一示例性实施例示出的另一种移动终端中实现软电话拨打的方法的流程图。

图4是图3对应实施例中步骤310在一个实施例的流程图。

图5是图2对应实施例中步骤250在一个实施例的流程图。

图6是图5对应实施例中步骤255在一个实施例的流程图。

图7是本发明实施例所涉及的njs中间层与应用程序的架构示意图。

图8是根据一示例性实施例示出的一种移动终端中实现软电话拨打的装置的框图。

通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

请参阅图1,图1是根据一示例性实施例示出的一种移动终端的框图。

需要说明的是,该移动终端只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该移动终端也不能解释为需要依赖于或者必须具有图1中示出的示例性的移动终端100中的一个或者多个组件。

如图1所示,移动终端100包括存储器101、存储控制器103、一个或多个(图1中仅示出一个)处理器105、外设接口107、射频模块109、定位模块111、摄像模块113、音频模块115、触控屏幕117以及按键模块119。这些组件通过一条或多条通讯总线/信号线121相互通讯。

其中,存储器101可用于存储计算机程序以及模块,如本发明示例性实施例中的移动移动终端中实现软电话拨打的方法及装置对应的计算机可读指令及模块,处理器105通过运行存储在存储器101内的计算机可读指令,从而执行各种功能以及数据处理,即完成移动移动终端中实现软电话拨打的方法。

存储器101作为资源存储的载体,可以是随机存储器、例如高速随机存储器、非易失性存储器,如一个或多个磁性存储装置、闪存、或者其它固态存储器。存储方式可以是短暂存储或者永久存储。

外设接口107可以包括至少一有线或无线网络接口、至少一串并联转换接口、至少一输入输出接口以及至少一usb接口等,用于将外部各种输入/输出装置耦合至存储器101以及处理器105,以实现与外部各种输入/输出装置的通信。

射频模块109用于收发电磁波,实现电磁波与电信号的相互转换,从而通过通讯网络与其他设备进行通讯。通信网络包括蜂窝式电话网、无线局域网或者城域网,上述通信网络可以使用各种通信标准、协议及技术。

定位模块111用于获取移动终端100的当前所在的地理位置。定位模块111的实例包括但不限于全球卫星定位系统(gps)、基于无线局域网或者移动通信网的定位技术。

摄像模块113隶属于摄像头,用于拍摄图片或者视频。拍摄的图片或者视频可以存储至存储器101内,还可以通过射频模块109发送至上位机。

音频模块115向用户提供音频接口,其可包括一个或多个麦克风接口、一个或多个扬声器接口以及一个或多个耳机接口。通过音频接口与其它设备进行音频数据的交互。音频数据可以存储至存储器101内,还可以通过射频模块109发送。

触控屏幕117在移动终端100与用户之间提供一个输入输出界面。具体地,用户可通过触控屏幕117进行输入操作,例如点击、触摸、滑动等手势操作,以使移动终端100对该输入操作进行响应。移动终端100则将文字、图片或者视频任意一种形式或者组合所形成的输出内容通过触控屏幕117向用户显示输出。

按键模块119包括至少一个按键,用以提供用户向移动终端100进行输入的接口,用户可以通过按下不同的按键使移动终端100执行不同的功能。例如,声音调节按键可供用户实现对移动终端100播放的声音音量的调节。

可以理解,图1所示的结构仅为示意,移动终端还可包括比图1中所示更多或更少的组件,或者具有与图1所示不同的组件。图1中所示的各组件可以采用硬件、软件或者其组合来实现。

请参阅图2,在一示例性实施例中,一种移动移动终端中实现软电话拨打的方法适用于移动终端,该移动终端的结构可以如图1所示。

该种移动移动终端中实现软电话拨打的方法可以由移动终端执行,可以包括以下步骤:

步骤210,在运行于移动终端的应用程序中,加载提供软电话拨打功能的页面。

移动终端,可以是智能手机、平板电脑、掌上电脑或者其他可供应用程序运行的便携式电子设备,在此不进行限定。

相应地,应用程序,泛指可以通过页面加载而提供软电话拨打功能的任意应用程序,此处也并未加以限定。

随着移动终端中应用程序的运行,提供软电话拨打功能的页面即可进行加载,并在运行的应用程序中显示,由此使得用户通过对该显示页面的在线访问而享受该页面所提供的软电话拨打功能。

在一实施例的具体实现中,页面显示是通过浮动框架实现的,即为加载的页面创建浮动框架,并将页面相关的组件嵌入该浮动框架,以通过浮动框架在应用程序中进行页面的浮动显示。

在一应用场景中,用户为业务人员,该业务人员登录移动终端运行的某个业务类应用程序,该业务类程序向该业务人员显示提供软电话拨打功能的页面,由此,业务人员便可基于移动终端中该页面所提供的软电话拨打功能与客户沟通。

步骤230,根据页面中触发进行的软电话拨打操作,向应用程序发起软电话拨打请求。

显示的页面中,为用户提供一个软电话拨打入口,该入口可是页面中的虚拟图标、虚拟按键等等,当用户希望进行软电话拨打时,将在该入口触发软电话拨打操作。

例如,软电话拨打入口为一个虚拟图标,当用户点击该虚拟图标时,即认为用户希望进行软电话拨打,此时,点击操作即为在该入口触发的软电话拨打操作。

在一实施例的具体实现中,通过事件监听器即可检测到应用程序所显示页面中触发进行的软电话拨打操作。

在检测到软电话拨打操作之后,即获知用户希望进行软电话拨打,便能够为用户向应用程序发起软电话拨打请求,方可在后续为用户执行软电话拨打。

步骤250,通过运行的njs中间层响应软电话拨打请求,并为应用程序调用移动终端提供的原生电话拨打接口。

njs(nativejavascript)中间层,是基于移动终端中部署的运行环境采用javascript技术为调用原生(native)接口而构建的,该原生接口包括但不限于原生电话拨打接口。

具体而言,当应用程序运行于移动终端,njs中间层随之运行,在软电话拨打请求发起之后,运行的njs中间层将会响应该软电话拨打请求为应用程序进行原生电话拨打接口的调用。

步骤270,通过调用的原生电话拨打接口为应用程序执行软电话拨打。

如前所述,njs中间层使得应用程序跨平台访问移动终端所提供的原生接口得以实现。

具体地,开发人员将运用javascript技术编写非原生接口,由此,njs中间层便可以通过非原生接口调用移动终端所提供的原生接口。

对于应用程序而言,直接访问的是非原生接口,而为应用程序执行软电话拨打的却是原生接口,从而实现了应用程序的跨平台访问。

通过如上所述过程,开发人员不需要熟悉移动终端所提供的原生接口以及相关原生代码而能够独立开发非原生接口,以此提高了开发效率,有利于降低开发成本。

请参阅图3,在一示例性实施例中,步骤250之前,如上所述的方法还可以包括以下步骤:

步骤310,为应用程序调用移动终端提供的原生电话拨打接口进行njs中间层的构建。

在一实施例的具体实现中,如图4所示,步骤310可以包括以下步骤:

步骤311,导入用于描述原生电话拨打接口的原生类对象。

步骤313,根据导入的原生类对象创建关联的实例对象。

其中,原生类对象,是通过原生代码对原生电话拨打接口进行描述,在移动终端部署运行环境时生成的。

实例对象,也被称为js对象,是运用javascript技术对非原生电话拨打接口进行描述。

为此,创建,指的是由原生类对象到js对象的转义,也可以理解为,将原生类对象映射为js对象。

进一步地,由于移动终端所涉及的原生接口种类非常庞杂,相应地,用于描述原生接口的原生类对象也不止一个,基于此,在为原生类对象创建了实例对象之后,还将在原生类对象与实例对象之间建立关联关系,以此保证二者之间的一一对应关系。

步骤315,为关联的实例对象配置调用属性,由配置了调用属性的实例对象构建得到njs中间层。

其中,调用属性是指调用实例对象的方法,进而通过实例对象的调用而对原生类对象进行调用,以此实现原生类对象所描述的原生接口的调用。

例如,原生接口为对话框,原生类对象用于描述该对话框,为其创建关联的实例对象并配置的调用属性是显示,由此,在为应用程序调用原生接口时,即是为应用程序显示对话框。

通过上述过程,实现了njs层的构建,njs中间层,实质是根据移动终端所提供的原生接口,将用于描述该原生接口的原生类对象映射为js对象,以通过js对象的调用进行所关联原生类对象的调用,进而为应用程序实现跨平台访问移动终端所提供的原生接口。

应当理解,njs中间层,为多个描述原生接口的原生类对象分别存储了实例对象,并非仅限于原生电话拨打接口。

步骤330,将构建的njs中间层封装至应用程序的安装包。

步骤350,通过安装包在移动终端中的运行,加载njs中间层至移动终端的内存。

步骤370当应用程序运行于移动终端时,触发加载至移动终端内存的njs中间层运行。

由此,随着njs中间层的运行,便能够响应该软电话拨打请求,以在后续为应用程序调用移动终端提供的原生电话拨打接口。

请参阅图5,在一示例性实施例中,步骤250可以包括以下步骤:

步骤251,由软电话拨打请求中提取得到参数。

如前所述,当用户希望拨打软电话,将在页面中触发进行软电话拨打操作而向应用程序发起软电话拨打请求。

对于njs中间层而言,通过软电话拨打请求便可以获知用户希望进行软电话拨打,进而确定需要为应用程序调用移动终端所提供的原生电话拨打接口。

为此,软电话拨打请求中携带有参数,该参数用于指示njs中间层为应用程序调用移动终端所提供的原生电话拨打接口。

由上可知,在接收到软电话拨打请求之后,便能够从软电话拨打请求中提取得到参数,进而按照参数的指示使得njs中间层执行后续的原生电话拨打接口调用。

步骤253,调用应用程序配置的参数传入接口将参数传入njs中间层。

参数传入接口,由应用程序安装至移动终端时配置,用于为应用程序执行参数传递,例如,将软电话拨打请求中携带的参数传入njs中间层。

步骤255,根据传入的参数触发njs中间层调用移动终端提供的原生电话拨打接口。

随着参数的传入,njs中间层便能够获知用户希望进行软电话拨打,进而为应用程序调用移动终端所提供的原生电话拨打接口。

在一实施例的具体实现中,如图6所示,步骤255可以包括以下步骤:

步骤2551,通过njs中间层检测移动终端中部署的运行环境。

应当理解,不同移动终端可以部署不同的运行环境。例如,移动终端a中部署的运行环境为安卓系统,移动终端b中部署的运行环境为ios系统,而移动终端c中部署的运行环境为其他操作系统。

相应地,移动终端将根据其所部署的运行环境提供相应的原生接口,换而言之,不同的运行环境中,移动终端所提供的原生接口的版本有所区别。例如,安卓系统提供安卓版的原生电话拨打接口,ios系统提供ios版的原生电话拨打接口。

因此,本实施例中,在进行原生电话拨打接口的调用之前,需要通过njs中间层进行移动终端所部署运行环境的检测。

具体而言,随着移动终端中运行环境的部署,将形成一配置文件,以便于后续为运行环境中运行的各应用程序存储相关的应用配置信息,例如,应用配置信息包括应用程序标识,同时,也为应用程序提供运行环境相关的系统配置信息,例如,系统配置信息包括操作系统标识。

由此,njs中间层将由配置文件读取系统配置信息中的操作系统标识,以根据操作系统标识判断移动终端所部署的运行环境。

例如,如果操作系统标识为“android”,则判定移动终端中部署的运行环境为安卓系统。

步骤2553,根据参数确定njs中间层中的实例对象,并根据检测到的运行环境由实例对象关联得到用于描述原生拨打电话的原生类对象。

如图7所示,本实施例中,对于应用程序所加载h5页面而言,既可以通过安卓系统内嵌的浏览器内核进行显示,也可以通过ios系统内嵌的浏览器内核进行显示,也就是说,无论移动终端所部署的运行环境是哪种,h5页面都可以兼容,以此提高h5页面的开发效率。

可以理解,由于h5页面对运行环境的兼容性,根据该h5页面中触发进行的软电话拨打操作而发起的软电话拨打请求中,参数仅指示njs中间层进行原生电话拨打接口的调用,而未指示njs中间层调用哪一种版本的原生电话拨打接口。

因此,原生类对象获取中,需要结合软电话拨打请求中的参数以及检测到的运行环境。

具体地,在构建的njs中间层中,按照参数的指示确定实例对象,并根据检测到的运行环境由该实例对象关联得到原生类对象,此时,该原生类对象即是用于描述与运行环境相适配的原生电话拨打接口,进而为后续调用提供了充分的保障。

步骤2555,按照为实例对象配置的调用属性,进行原生类对象的调用。

由此,原生类对象的调用,是基于调用属性所指示的实例对象的调用方法实现的,使得应用程序能够借助实例对象访问移动终端所提供的原生接口,避免依赖于原生代码的开发才能够实现,大幅度降低了开发复杂度,有利于提高开发效率。

此外,开发人员仅需要熟悉js对象以及javascript技术即可,而js对象以及javascript技术相对于原生类对象以及相关原生代码更为简单,进一步有利于提高开发效率,从而有效地降低了开发成本。

下述为本发明装置实施例,可以用于执行本发明所涉及的移动移动终端中实现软电话拨打的方法。对于本发明装置实施例中未披露的细节,请参照本发明所涉及的移动移动终端中实现软电话拨打的方法的实施例。

请参阅图8,在一示例性实施例中,一种移动移动终端中实现软电话拨打的装置900包括但不限于:页面加载模块910、请求发起模块930、接口调用模块950和软电话拨打模块970。

其中,页面加载模块910用于在运行于移动终端的应用程序中,加载提供软电话拨打功能的页面。

请求发起模块930用于根据页面中触发进行的软电话拨打操作,向应用程序发起软电话拨打请求。

接口调用模块950用于通过运行的njs中间层响应软电话拨打请求,并为应用程序调用移动终端提供的原生电话拨打接口。

软电话拨打模块970用于通过调用的原生电话拨打接口为应用程序执行软电话拨打。

需要说明的是,上述实施例所提供的移动移动终端中实现软电话拨打的装置在进行移动移动终端中实现软电话拨打的处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即移动移动终端中实现软电话拨打的装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。

另外,上述实施例所提供的移动移动终端中实现软电话拨打的装置与移动移动终端中实现软电话拨打的方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。

在一示例性实施例中,一种移动移动终端中实现软电话拨打的装置,包括处理器及存储器。

其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现上述各实施例中的移动移动终端中实现软电话拨打的方法。

在一示例性实施例中,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的移动移动终端中实现软电话拨打的方法。

上述内容,仅为本发明的较佳示例性实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1