CN114449088A - 一种拨打电话的方法和电子设备 - Google Patents
一种拨打电话的方法和电子设备 Download PDFInfo
- Publication number
- CN114449088A CN114449088A CN202011193270.0A CN202011193270A CN114449088A CN 114449088 A CN114449088 A CN 114449088A CN 202011193270 A CN202011193270 A CN 202011193270A CN 114449088 A CN114449088 A CN 114449088A
- Authority
- CN
- China
- Prior art keywords
- service
- dialing
- customer service
- user interface
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Telephone Function (AREA)
Abstract
本申请提供一种拨打电话的方法和电子设备,方法包括:电子设备根据第一操作确定第一号码之后,显示第一用户界面,其中第一号码为第三方客服的电话号码,第一用户界面包括至少一个控件,至少一个控件与第三方客服的至少一项服务一一对应;电子设备接收到针对第一控件的第二操作后,基于第一号码向第三方客服发起呼叫;在电话接通之后,电子设备根据第一控件对应的服务对应的拨号流程向第三方客服发送拨号信息。如此,用户在拨打第三方客服电话时,可以在电话接通之前预先在第一用户界面选择所需的服务,而电话接通之后就可以不用再接听语音提示和执行输入操作,能够极大地提高电话拨打效率,且对于听力障碍用户也极具便利性,可以提高用户体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种拨打电话的方法和电子设备。
背景技术
目前,用户在使用电子设备(如手机)联系第三方客服(例如某些企业或商家的客服)的电话时,在拨通第三方客服电话之后,用户会接听到一段语音提示,该语音提示为第三方客服的各项服务(或业务或功能)对应的语音菜单(或称为语音导航),用于提示用户到达每种服务需要进一步执行输入操作(例如输入哪些数字)。
用户在拨通第三方客服电话之后,必须要根据语音提示执行与用户所需服务对应的输入操作才能到达该服务。并且,大多数第三方客服电话的语音菜单的层级较多,用户在接听完第一层级的语音提示并执行相应的输入操作后,并不能直达所需的服务,还需要接听下一层级甚至更多层级的语音提示。因此,用户需要耗费大量时间和精力去听语音提示才能准确拨号,以到达所需的服务。用户一旦漏听某一段语音提示,则只能返回上一级菜单或主菜单重新拨号。可见,现有的拨打客服电话的方法存在耗时长、效率低、用户体验差等技术问题。
发明内容
本申请实施例提供一种拨打电话的方法和电子设备,用于提高拨打客服电话效率,提高用户体验。
第一方面,提供一种拨打电话的方法,应用于电子设备,方法包括:接收第一操作;根据第一操作确定第一号码,第一号码为第三方客服的电话号码;显示第一用户界面,其中第一用户界面包括至少一个控件,至少一个控件与第三方客服的至少一项服务一一对应;接收针对第一控件的第二操作;基于第一号码向第三方客服发起呼叫;在电话接通之后,根据第一控件对应的服务对应的拨号流程向第三方客服发送拨号信息。
通过上述方案,用户在拨打第三方客服电话时,可以在电话接通之前,预先在第一用户界面对第一控件执行第二操作来选择所需到达的服务(即第一控件对应的服务),电话接通之后,就可以不用再接听语音提示和执行输入操作,能够极大地提高电话拨打效率,提高用户体验,另外对于听力障碍用户该方案也极具便利性。
一种可能的设计中,电子设备在显示第一用户界面之前,还可以根据客服标识与电话号码的映射关系,确定第一号码为第三方客服的电话号码。
这样,可以针对性地对客服电话执行本申请实施例提供的技术方案。
一种可能的设计中,电子设备在显示第一用户界面之前,还可以获取至少一项服务对应的拨号流程信息,进而根据该至少一项服务对应的拨号流程信息,生成第一用户界面。
这样,可以使得第一用户界面上的控件与服务的对应关系更为准确,进一步提高方案的可靠性。
一种可能的设计中,电子设备具体可以通过以下几种方式获取至少一项服务对应的拨号流程信息:
方式1、从第一服务器获取至少一项服务对应的拨号流程信息,第一服务器为第三方客服的服务器;
方式2、从第二服务器获取至少一项服务对应的拨号流程信息,第二服务器为电子设备的生产厂商的服务器;
方式3、从本地读取至少一项服务对应的拨号流程信息。
应理解,上述三种方式仅为举例而非限定。
一种可能的设计中,电子设备在显示第一用户界面之前,还可以显示第一窗口,第一窗口中包含第一提示信息,第一提示信息用于询问是否需要展示可视化电话客服的功能,电子设备在接收到用于指示需要展示第一用户界面的指令后,再显示第一用户界面。
这样,只有在用户指示需要展示可视化电话客服的功能后才显示第一用户界面,可以提高交互友好性,进一步提高用户体验。
一种可能的设计中,至少一个控件可以按照菜单级别呈树形拓扑排列,或者可以按照菜单级别呈思维导图拓扑排列,或者其它方式,本申请不做限定。
这样,可以使得控件的排列方式逻辑更为清晰,使得用户能够快速理解到各控件与原来的语音菜单的对应关系,进而方便地操作第一用户界面。
一种可能的设计中,电子设备在显示第一用户界面之后,以及接收针对第一控件的第二操作之前,还接收第三操作,并响应于第三操作,更新第一用户界面的视图。
这样,可以丰富第一用户界面的显示效果。
一种可能的设计中,电子设备更新第一用户界面的视图的方式可以有以下几种:
方式1、在第一用户界面上显示第一控件;
方式2、在第一用户界面上放大显示第一控件;
方式3、改变第一控件在第一用户界面上的位置。
应理解,上述三种方式仅为示例而非限定。
采用上述任意方式,第一用户界面可以根据用户需求调整控件的显示方式,可以进一步提高用户体验。
一种可能的设计中,电子设备在电话接通之后,根据第一控件对应的服务对应的拨号流程向第三方客服发送拨号信息,可以包括:接收第三方客服返回的第一级语音菜单;根据第一控件对应的服务对应的拨号流程,确定与第一级语音菜单相对应的第一拨号信息,向第三客服发送第一拨号信息。
也就是说,电子设备是按照接收到语音菜单的流程进度的反馈对应层级的拨号信息给第三方客服,可以进一步提高方案的可靠性。
一种可能的设计中,电子设备在向第三客服发送第一拨号信息之后,还接收第三方客服返回的第二级语音菜单,根据第一控件对应的服务对应的拨号流程,确定与第二级语音菜单相对应的第二拨号信息,向第三客服发送第二拨号信息。
一种可能的设计中,电子设备在电话接通之后,根据第一控件对应的服务对应的拨号流程向第三方客服发送拨号信息,可以包括:判断第三方客服返回的语音菜单与至少一项服务对应的拨号流程信息是否匹配;如果匹配,则根据第一控件对应的服务对应的拨号流程向第三方客服发送拨号信息;否则,提示用户手动输入拨号信息。
这样,电子设备能够检测本地至少一项服务对应的拨号流程信息与实际的语音菜单是否匹配,只有在匹配时才继续执行自动拨号,如果不匹配则切换手动拨号,进而保证用户能够准确到达其所需的服务,可以进一步提高方案的可靠性。
第二方面,本申请实施例提供一种电子设备,包括显示屏、处理器和存储器;其中显示屏可以用于显示用户界面,存储器存储有可被至少一个处理器执行的指令,处理器通过执行存储器存储的指令,使得电子设备执行如第一方面或第一方面任一种可能的设计中所述的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,包括程序或指令,当程序或指令在计算机上运行时,使得如第一方面或第一方面任一种可能的设计中所述的方法被执行。
第四方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括指令,当所述指令被执行时,使得计算机实现如第一方面或第一方面任一种可能的设计中所述的方法。
第五方面,本申请实施例提供的一种芯片,所述芯片与电子设备中的存储器耦合,使得所述芯片在运行时调用所述存储器中存储的程序指令,实现如第一方面或第一方面任一种可能的设计中所述的方法。
另外,第二方面至第五方面中任一种可能设计方式所带来的技术效果可参见第一方面相关设计方式所带来的技术效果,此处不再赘述。
附图说明
图1A~图1E为拨打某移动运营商客服电话的方法的示意图;
图2A为本申请实施例提供的一种通信系统的结构示意图;
图2B为本申请实施例提供的另一种通信系统的结构示意图;
图3为本申请实施例提供的一种手机100的硬件结构示意图;
图4为本申请实施例提供的手机100的软件架构示意图;
图5为本申请实施例提供的一种拨打电话的方法的流程图;
图6A为本申请实施例提供的一种拨号流程信息的示意图;
图6B为本申请实施例提供的另一种拨号流程信息的示意图;
图7A~图7H为本申请实施例提供的第一用户界面的示意图;
图8A~图8C为本申请实施例提供的提示窗口的示意图;
图9A~图9C为本申请实施例提供的第一控件的示意图;
图10A~图10C为本申请实施例提供的拨打电话的示意图;
图11A~图11D为本申请实施例中电话接通之后的示意图;
图12为本申请实施例提供的一种可能的系统流程图;
图13为手机100的phone模块的一种可能的原理图;
图14为电话接通后从自动拨号切换到手动拨号的示意图;
图15为本申请实施例提供的一种电子设备1500的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
本申请中的第三方,是指除了用户(或者说用户的电子设备)和用户的电子设备的生产厂商(或者说电子设备的生产厂商的服务器)之外,可以为用户(或者说用户的电子设备)提供服务的第三方。
本申请实施例涉及的至少一个,包括一个或者多个;其中,多个是指大于或者等于两个。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图1A~图1E为拨打某移动运营商客服电话的方法,包括:
步骤1、参见图1A,用户在手机的拨号界面上,输入移动运营商的电话号码例如“10086”,然后点击拨出键;
步骤2、参见图1B,电话接通之后,用户会先听到第一级语音提示(即主菜单),例如“普通话服务请按1,For English,please press2(英语服务请按2)”;
步骤3:参见图1C,用户按照第一级语音提示,点击按键“1”,输入数字1选择普通话服务;
步骤4:参见图1D,用户接听到第二级语音提示(即普通话服务对应的子菜单),“业务查询请按1,充值与发票请按2,……,人工服务请按0,重听请按9”;
步骤4:参见图1E,用户按照第二级语音提示,点击按键“0”,选择人工服务,进入人工服务流程。
上述图1A~图1E是以到达人工服务为例,所以用户需接听两个层级的语音提示以及执行两个层级的输入操作。然而,在实际生活中,某些服务对应的输入操作不止两个层级,所以需要听更多的语音执行更多的输入操作。
通过上述可知,用户在拨打第三方客服电话时,不但要浪费大量时间去听每一个拨号按键对应的是什么意思,还要花精力费心去记住每个按键对应的功能是什么,才能准确到达想到选择的服务,电话拨打效率低,用户体验极差。
为了解决上述技术问题,本申请实施例提供一种拨打电话的方法和电子设备。本申请实施例中,电子设备可以获取第三客服提供的至少一项服务(或者说服务节点或者说菜单选项)对应的拨号流程信息,电子设备如果识别到拨号界面上有该第三方客服的电话号码输入,则根据该至少一项服务对应的拨号流程信息,生成可视化菜单,可视化菜单上设置有至少一个有控件(或者称为图标),所述至少一个有控件与第三方客服提供的至少一项服务(以及至少一项服务的拨号流程信息)一一对应。当电子设备检测到可视化菜单上任一控件被触发时,确定出该任一控件对应的服务的拨号流程信息,然后再基于第三方客服的电话号码向第三方客服发起呼叫,在电话接通之后,基于该任一控件对应的服务的拨号流程信息自动向第三方客服拨号。这样,电话接通后,可以不用再接听冗长的语音提示以及执行复杂的输入操作,能够极大地节省呼叫时间,提高用户拨打客服电话的效率,并且对于有听力障碍的用户,该方案也极具便利性,可以提高用户体验。
图2A为本申请实施例提供的一种通信系统的结构示意图。包括电子设备、第一服务器以及第二服务器,它们可以通过通信网络相互连接,连接方式可以是有线或无线,这里不做限制。
其中,第二服务器为电子设备的厂商的服务器,例如电子设备为华为公司的手机,则第二服务器可以是华为公司的服务器;当然,第二服务器也可以是能够为电子设备提供服务的其它任何服务器,比如为电子设备提供的移动通信服务的移动运营商的服务器,例如电子设备使用的是中国移动提供的移动通信服务,则第二服务器可以是中国移动的服务器。
第一服务器为第三方客服的服务器,能够提供自动语音导航服务,例如第一服务器上运行有互动式语音应答(Interactive Voice Response,IVR)系统,IVR系统可以在接通电子设备的电话之后,为电子设备提供自动语音服务,IVR系统采用用户导向的语音目录,可以根据用户选择(例如通过电话键盘或语音)完成相应的信息查询和命令执行。企业或厂商通过在他们的服务器上部署IVR系统,不仅能够减少人工成本,而且还能提高服务效率。
电子设备可以拨打第三方客服的电话,获取第三方客服的服务器提供的服务,即第一服务器的服务。
应理解,当上述第一服务器和第二服务器均不是为电子设备提供的移动通信服务的移动运营商的服务器时,系统还可以包括为电子设备提供的移动通信服务的移动运营商的电子设备,例如电话交换机等。
第二服务器能够从第一服务器获取第三方客服提供的各项服务对应的拨号流程信息,例如从第一服务器获取第三方客服的所有语音提示信息,然后解析该语音提示信息,得到第三方客服提供的各项服务对应的拨号流程信息;第二服务器还能够将各项服务对应的拨号流程信息下发到电子设备以及更新电子设备本地保存的拨号流程信息。
电子设备可以根据第二服务器下发的拨号流程信息,生成可视化菜单,例如后文中的第一用户界面。电子设备如果识别到拨号界面中有第三方客服的电话号码输入,则可以弹出一个提示窗口,询问用户是否需要展示可视化电话客服的功能,电子设备在接收到确认操作后,显示可视化菜单,或者电子设备在识别出第三方客服的电话号码后不弹出该提示窗口,而是直接显示可视化菜单。第一用户界面的具体样式将后文详细介绍。
当电子设备检测到第一用户界面上的任一控件被触发时,可以确定出该任一控件对应的服务的拨号流程信息,然后基于第三方客服的电话号码和该拨号流程信息,向第三方客服发起呼叫。
需要说明的是,在本申请实施例中,图2A所示的通信系统还可以包括更多的电子设备,本申请实施例对电子设备的数量不做限制。在通信系统具有多个电子设备的情况下,针对每个电子设备的方案是相同的,因此在下文中,以一个电子设备为例进行说明。
图2B为本申请实施例提供的另一种通信系统的结构示意图。与图2A所示架构不同的是,该系统中没有第二服务器,仅包括电子设备和第一服务器。
在这种架构下,可以通过在电子设备中预存各项服务对应的拨号流程信息,或者由第三方客服的服务器(即第一服务器)直接向电子设备下发各项服务对应的拨号流程信息,使得电子设备同样可以在有第三方客服的电话号码输入时,显示可视化菜单。
以上介绍了本申请实施例适用的通信系统,下面介绍本申请实施例适用的电子设备。
本申请实施中的电子设备,比如可以为手机、移动电脑、平板电脑、个人数字助理(personal digital assistant,PDA)、媒体播放器、智能电视、智能可穿戴设备(如智能手表、智能眼镜和智能手环等)、电子阅读器、手持游戏机、销售终端(point of sales,POS)、车载电子设备(车载电脑)等。在本申请实施例中,电子设备中可以安装多个应用,例如,系统设置应用、桌面应用、绘图应用、演示应用、游戏应用、电话应用、视频播放器应用、音乐播放器应用、电子邮件应用、即时消息收发应用、照片管理应用、相机应用、浏览器应用、日历应用、时钟应用、支付应用和健康管理应用等。本申请实施例提出的通话方案可以应用于任何第三方客服的通话。
下述以电子设备是手机为例,说明本申请实施例所应用的一种电子设备的结构示意图。
如图3所示,手机100包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,摄像头170,传感器模块180,显示屏190等。
其中,处理器110可以包括一个或多个处理单元。例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。本申请实施例中的拨打电话的方法的执行可以由处理器110来控制或调用其他部件来完成,比如调用内部存储器121中存储的本申请实施例的处理程序,或者通过外部存储器接口120调用第三方设备中存储的本申请实施例的处理程序,来控制显示屏190显示可视化菜单(如第一用户界面)、重组拨号意图以及自动拨号等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、图像、视频等文件保存在外部存储卡中。
内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像拍摄功能等)等。存储数据区可存储手机100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。内部存储器121可以用于存储本申请实施例所提出的通话方案的计算机可执行程序代码,所述可执行程序代码包括指令。处理器110可以通过运行存储在内部存储器121的该界面切换方案的计算机可执行程序代码,从而使得手机100可以完成本申请实施例提出的拨打电话的方案。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为手机100充电,也可以用于手机100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过手机100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏190,摄像头170,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。
例如,本申请实施例中手机100可以通过移动通信模块150与第三方客服通信,例如向第三方客服发起呼叫,接听第三方客服的来电,与第三方客服通话等。
摄像头170用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头170,N为大于1的正整数。
显示屏190可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单,另外还可以接受用户输入,比如用户的触摸操作。具体的,显示屏190可包括显示面板191,以及触控面板192。其中,显示面板191可以采用液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organicLight-emitting diode,OLED)等形式来配置显示面板191。触控面板192,也称为触摸屏、触敏屏等,可收集用户在其上或附近的接触或者非接触操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板192上或在触控面板192附近的操作,也可以包括体感操作;该操作包括单点控制操作、多点控制操作等操作类型),并根据预先设定的程式驱动相应的连接装置。
可选的,触控面板192可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位、姿势,并检测输入操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成处理器能够处理的信息,再送给处理器110,并能接收处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板192,也可以采用未来发展的任何技术实现触控面板192。进一步的,触控面板192可覆盖显示面板191,用户可以根据显示面板191显示的内容(该显示内容包括但不限于,软键盘、虚拟鼠标、虚拟按键、图标等等),在显示面板191上覆盖的触控面板192上或者附近进行操作,触控面板192检测到在其上或附近的操作后,传送给处理器110以确定用户输入,随后处理器110根据用户输入在显示面板191上提供相应的视觉输出。
例如,在本申请实施例中,触控面板192中的触摸检测装置在检测到用户输入的触摸操作后,将检测到的触摸操作对应的信号实时发送的触摸控制器,触摸控制器将信号转换成触点坐标发送给处理器110,处理器110根据接收到的触点坐标确定该触摸操作具体为连续点击数字按键(例如点击10086),然后响应用户输入的点击操作,根据该点击操作确定用户输入的电话号码,然后将该电话号码与本地存储的客服电话号码进行匹配,发现该电话号码为某客服的电话号码,于是弹出提示框提示用户是否需要展示该客服对应展示可视化电话客服的功能,显示第一用户界面等。此部分方案的具体实现方式,将在后文进行详细介绍。
在一些实施例中,手机100可以包括1个或N个显示屏190,1个或N个显示屏190可以折叠连接,也可以柔性连接,多个显示屏190折叠时便于电子设备便携,多个显示屏190展开连接时,便于用户使用大屏幕观看提高用户体验,其中,N为大于1的正整数。
传感器模块180可以包括压力传感器180A,触摸传感器180B,环境光传感器180C。当然,在具体实施时,还可以有其它传感器,比如陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,骨传导传感器等,本申请实施例不做限制。
其中,触摸传感器180A,也称“触控面板”。触摸传感器180A可以设置于显示屏190,由触摸传感器180A与显示屏190组成触摸屏,也称“触控屏”。触摸传感器180A用于检测作用于其上或附近的触摸操作,比如用户在显示屏上输入的滑动操作。触摸传感器可以将检测到的触摸操作传递给应用处理器110,以确定触摸事件类型。通过显示屏190提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180A也可以设置于手机100的表面,与显示屏190所处的位置不同。
压力传感器180B用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180B可以设置于显示屏190。压力传感器180B的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180B,电极之间的电容改变。手机100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏190,手机100根据压力传感器180B检测所述触摸操作强度。手机100也可以根据压力传感器180B的检测信号计算触摸的位置。
环境光传感器180C用于感知环境光亮度。手机100可以根据感知的环境光亮度自适应调节显示屏190亮度。环境光传感器180C也可用于拍照时自动调节白平衡。环境光传感器180C还可以与接近光传感器配合,检测手机100是否在口袋里,以防误触。
应理解的是,本申请实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
以上介绍了手机100的硬件结构,下面介绍手机100的软件架构。
具体的,手机100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)系统为例,示例性说明手机100的软件结构。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。
请参见图4,在一些可能的实施例中,将Android系统分为四层,从上至下分别为应用程序(Applications)层(本文中简称“应用层”),应用程序框架(ApplicationFramework)层(本文中简称“框架层”),安卓运行时(Android runtime)和系统库层(本文中简称“系统运行库层”),以及内核层。
其中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的应用程序,例如窗口、系统设置、时钟、相机、联系人(Contacts)、电话(Phone)、短信等;也可以是第三方开发者所开发的应用程序,比如即时通信程序、相片美化程序、游戏程序等。当然,在具体实施时,应用程序层中的应用程序包不限于以上举例,实际还可以包括其它应用程序包,本申请实施例对此不做限制。图4中仅示意了电话应用和联系人应用。
框架层为应用程序层的应用程序提供应用编程接口(application programminginterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。
本申请实施例中应用程序框架层包括活动管理(activity manager service)模块和窗口管理(window manager service)模块、电话管理器(TelephonyManager)、电信(Telecomm)模块、呼叫界面(InCallUI)模块以及电信服务(Teleservice)模块等。
应理解,本文软件架构中所涉及的各个模块的中文名称是采用中文直译的方式对原英文名称进行翻译所得到的,在具体实施时还可以翻译成其它中文名称,本申请不做限制。并且本文中,各模块可以直接使用其英文名称进行简称,例如电信(Telecomm)模块可以简称为Telecomm等。
activity manager service用于:管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出、打开、进程前进(例如在拨号应用中弹出询问窗口)、进程后退等。
window manager service用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化等。
其中,TelephonyManager、Telecomm模块、InCallUI模块以及Teleservice模块都是为电子设备的电话(Telephony)服务提供支持。
电话管理器是对整个提供电话(Telephony)服务相关信息的查询/修改功能的管理器,以及电话(Phone)状态监听功能,封装的方法主要是提供给应用(APP)上层使用。例如,获取电话信息(设备信息、sim卡信息以及网络信息),侦听电话状态(呼叫状态服务状态、信号强度状态等)以及可以调用电话拨号器拨打电话等。包含数据连接、通话、信息和SIM相关的API。
Telecomm位于界面应用如InCallUI和Phone框架之间。之前函数的调用流程在不同进程间的接口不够平滑,在添加新的Telecomm后,整个软件框架就比较有序和易于管理。
InCallUI主要用于通话界面的显示和更新,通话信息的查询,以及简单的逻辑,例如,接听/挂断等等。当有来电时,一般会显示来电界面或者通知界面;当有去来电时,一般会呼叫中界面。电话接通之后,会显示通话中界面。
在本申请实施例中,InCallUI还可以用于绘制第一用户界面、提示窗口等拨打电话过程中所涉及的界面。
Teleservice用于和RIL通信,完成通话(Call)的基本通话功能以及其他相关业务。
图4中仅示意了Telecomm、InCallUI和Teleservice三个模块。
当然,在具体实施时框架层还可以包括功能服务,比如内容提供,电话管理,资源管理,通知管理等,本申请实施例对此不做限制。
系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。如图4所示,系统运行库层包括无线通信接口层(RIL),RIL主要位于系统运行库层中的HAL层,是框架层与内核层中调制解调器(Modem)之间的接口层(属于HAL层),RIL将Modem提供的各种服务进行了抽象,以提供给框架层统一的接口。
内核层是硬件和软件之间的层。如图4所示,内核层至少包含各种驱动,例如显示驱动、音频驱动、摄像头驱动、传感器驱动以及调制解调器(Modem)的相关驱动等。当然,在具体实施时内核层还可以包括其他驱动,如摄像头驱动,音频驱动等,本申请实施例对此不做限制。
其中,Modem用于实现电话功能,通过与通信网络进行沟通,传输语音及数据,完成呼叫、短信等相关电话功能。Modem装上用户身份识别模块(Subscriber IdentityModule),SIM)卡,直接上电即可工作,自动完成初始的找网、网络注册等工作,完成之后即可打电话、发短信等。
与现有技术不同的是,本申请实施例中,框架层在识别到用户的拨号需求后,并不直接基于用户输入的电话号码立即发起呼叫,而是:弹出提示以向用户询问是否需要展示可视化电话客服的功能,在接收到需要展示可视化电话客服的功能的指示作后,控制电子设备显示第一用户界面,或者在识别到用户的拨号需求后,控制电子设备显示第一用户界面,在根据针对第一用户界面的第一控件的触摸操作后,确定第一控件对应的拨号流程信息,然后基于之前用户输入的电话号码以及该拨号流程信息发起呼叫,这样可以实现第三方客服的服务直达。
应理解,图2A中的软件架构对应的软件程序和/或模块存储在图1所示的手机100中的内部存储器121中。
下面以本申请实施例应用在上述手机100中为例对本申请实施例提供的方案进行详细介绍。
如图5所示,为本申请实施例提供的一种拨打电话的方法的流程图,包括:
S501、手机100接收第一操作,根据第一操作获取第一号码。
一种可能的实施方式中,第一操作是在手机100的电话应用中针对拨号界面的触控操作。例如,第一操作可以包括图1A所示的六个子操作:点击数字按键“1”、点击数字按键“0”、点击数字按键“0”、点击数字按键“8”、点击数字按键“6”以及点击“拨出键”。
示例性的,手机100的触摸传感器180K接收到触摸操作后,相应的硬件中断被发给内核层;内核层将触摸操作加工成输入事件(例如包括触摸坐标,触摸操作的时间戳等信息),输入事件被存储在内核层;框架层可以从内核层获取到输入事件,确定触摸操作对应的输入信息。
Android中提供了意图(Intent)机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。Intent不仅可用于应用程序之间,也可用于应用程序内部的活动(Activity)/服务(Service)之间的交互。因此,Intent起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。
上述第一操作为用户输入了数字“10086”和“拨出键”为例,Contacts应用调用Intent例如:
{Uri uri=uri.parse(“tel:10086”);
Inntent intent=new Intent(Intent.ACCTION_DTAL,uri);
startActivity(intent)}
该例中的拨号意图为“tel:10086”,即用户需要向10086拨号。
用户在拨号界面(对应的包名为:com.android.contacts.activities.DialtactsActivity,是Contacts应用中的一个包)输入好将要联系的电话号码之后,点击拨出键之后,Contacts应用在框架层中对应的Activity即拨号活动(DialtactsActivity)会发出拨号的intent给Telecomm,Telecomm的用户呼叫意图处理器(UserCallIntentProcessor).java类的处理传出呼叫意图(processOutgoingCallIntent)(Intent,String,boolean,boolean)方法会收到该Intent,即“tel:10086”,进而获取到号码10086。
需要说明的是,上述是以第一操作包括输入第一号码的操作以及针对拨出键的操作为例,拨号键被触发之后Contacts才识别拨号意图并生成对应的intent发送给Telecomm。但在具体实施时,第一操作可以仅包括输入第一号码的操作而不包括针对拨出键的操作,相应的,Contacts可以是在“10086”中数字“6”输入后,就识别拨号意图并生成对应的intent发送给Telecomm。本申请这里不做限制。
另一种可能的实施方式中,第一操作是语音指令。
例如,用户呼叫语音助手,并喊出“拨打10086”,手机100的声音传感器(例如听筒或耳机)采集到语音信息后,相应的硬件中断被发给内核层;内核层上报给应用层,应用层中的语音助手识别该段语音信息后,将语音信息传递DialtactsActivity,DialtactsActivity发出拨号的intent给Telecomm,使得Telecomm从该intent获取到号码“10086”。
当然,以上两种仅为示例而非限定,在具体是实施时,第一操作还可以是其它具体实现方式,这里不做限定。
S502、手机100确定第一号码为第三方客服的电话号码,显示第一用户界面。
以下,介绍手机100确定第一号码为第三方客服的电话号码的方法。
在本申请实施例中,手机100本地(例如内部存储器121)可以保存多个第三方客服的电话号码信息(例如是第三方客服的电话列表或黄页表,该电话列表保存有客服标识与电话号码的映射关系),或者,手机100从其它设备(例如从第二服务器)获取第三方客服的电话号码信息;手机100查询该第一号码是否为上述多个第三方客服的电话号码中的一个,若为是,则确定第一号码为第三方客服的电话号码。
例如,表1为电话列表的示例。
表1电话列表(黄页表)
第三方客服 | 电话 |
中国移动 | 10086 |
中国联通 | 10000 |
中国银行 | 95566 |
建设银行 | 95533 |
…… | …… |
应理解,表1仅为示例,实际的电话列表不一定如此,且手机100保存的电话列表可以不止一张。
在本申请实施例中,手机100在确定第一号码为第三方客服的电话号码之后,在显示第一用户界面之前,手机100需要先获得第一号码对应的第三方客服对应的拨号流程信息,进而根据该第三方客服对应的拨号流程信息生成第一用户界面。
本文中的拨号流程信息可以理解为:针对第三方客服电话提供的各项服务(或业务或功能),在按照语音提示进行拨号时用户所需要执行的拨号流程对应的信息。例如,用户获取每项服务具体需要输入的数字按键信息。其中,不同服务对应不同的拨号流程(信息)。
以下,介绍手机100获取拨号流程信息的方式。
方式1,第二服务器可以从第一服务器获取到第三方客服所有层级菜单对应的语音信息(具体形式可以是语音,也可以是第一服务器中保存的语音菜单的配置文件,这里不做限定),然后对其进行解析,生成第三客服提供的各项服务对应的拨号流程信息,并保存第三客服提供的各项服务对应的拨号流程信息。手机100就可以根据可以向第二服务器发送查询请求,该请求中包含第一号码,之后第二服务器会向手机100返回第三方客服对应的拨号流程信息,进而手机100获得第三方客服对应的拨号流程信息。
以手机100为华为公司生产的手机为例,且以第二服务器为华为公司的服务器为例,第三方客服可以通过诸多途径更新第二服务器,例如第三方客服通过打电话或发邮件通知华为开发者联盟(开发者联盟是华为手机的应用市场APP的后台,第三方客服想要可以在应用市场上架对应的应用)更新第二服务器,例如第三方客服通过在华为开发者联盟的网站专区进行可视化在线点选更新来更新第二服务器,例如第三方客服通过在华为开发者联盟的网站上指定专区上传表格来更新第二服务器,等等。
示例性的,Telecomm模块获取到第一号码之后,处理器110运行Telecomm模块的“UserCallIntentProcessor.java类的processOutgoingCallIntent()”方法可以向第二服务器发送HTTP POST请求,第二服务器返回JS对象简谱(JavaScript Object Notation,JSON)值,JSON值包含至少一个键值对,每一个键值对中的键代表第三方客服能够提供的一项服务,值代表该向服务对应的拨号数字。
以下是对手机100发送的HTTP POST请求的示例:
{https://www.xxx.com/xxx/api/xxx?method=xxx&ts=xxx&userId=xxx&number=xxx&type=xxx&version=10&results=10&xxx=xxx}
以下是对为第二服务器返回的JSON值的示例:
{
“宽带业务”:{
“宽带业务咨询与办理”:51,
“宽带业务申报”:{“办理宽带时使用的手机号码为本机号码(人工)”:521,
“办理宽带时使用的手机号码为其它号码”:522},
“宽带密码服务”:53,
“宽带预约服务”:54,}
}
Telecomm根据JSON值,可以获取到第三方客服的所有功能的拨号流程信息对应的键值对,例如”宽带业务咨询与办理”:51、”办理宽带时使用的手机号码为本机号码(人工)”:521、”为其他号码办理”:522、”宽带密码服务”:53、”宽带预约服务”:54等等。
之后,Telecomm将获取到的键值对以完整的层级列表形式存储,例如:
{宽带业务请按5->宽带业务咨询与办理请按1;
->宽带业务申报请按2->请确认您办理的宽带时使用的手机号码,本机号码请按1->正在为您查证,请稍后}
最后,Telecomm基于上述键值对输出拓扑树表,如图6A所示。
应理解,图6A所示的拓扑树表仅为第三方客服的一部分拨号流程信息(即宽带服务对应的局部拓扑树表)。手机100还可以通过HTTP POST请求获得第三方客服的完整拨号流程信息。
图6B是第三方客服的完整拨号流程信息的示意图,图6B中具体是以第一号码10086为例,手机100通过图6B所示的拓扑信息可以确定每一级菜单下每一项服务(即菜单选项)对应的拨号流程。例如,查询当月账单对应的拨号流程为:“1”→“3”→“1”,人工服务对应“0”。应理解,除了图6B所示的拓扑树表的格式之外,拨号流程信息还可以是其它格式,本申请不做限定。另外,图6B中的拨号流程信息仅仅是一种示例,并不代表实际的拨号流程的拓扑一定如此。
方式2,第一服务器可以将自身存储的第三方客服所有层级菜单对应的语音信息进行解析,生成第三客服提供的各项服务对应的拨号流程信息。手机100可以向第一服务器(即第三方客服的服务器)发送查询请求,之后第一服务器向手机100返回第三方客服对应的拨号流程信息。
方式3,手机100本地(例如内部存储器121)预先存储有第三方客服对应的拨号流程信息(例如上一次拨打第一号码时从第一服务器或第二服务器获取第三方客服对应的拨号流程信息后,将其储存到本地),则手机100直接从本地读取第三方客服对应的拨号流程信息。
应理解,以上三种手机100获取拨号流程信息的方式仅为示例而非限定,在实际应用中还可以有其它方式。
当框架层中的Telecomm获取到第三方客服对应的拨号流程信息之后,将拨号流程信息传递给框架层中的InCallUI,InCallUI根据拨号流程信息绘制第一用户界面,绘制完成之后传递给内核层,驱动显示屏190显示第一用户界面。
以下,介绍第一用户界面的样式。
在本申请实施例中,第一用户界面包括至少一个控件,该至少一个控件与第三方客服提供的至少一项服务一一对应,且每项服务对应一种拨号流程信息,因此该至少一个控件与该至少一项服务的拨号流程信息也一一对应。
如图7A所示,为一种可能的第一用户界面的示意图,第三方客服的每一级菜单下的每一项服务在第一用户界面中均有一个对应的控件,各控件按照菜单级别呈树形拓扑排列。
需要说明的是,图7A中是以第三方客服的语音菜单一共有5级为例,在具体实施时并不限于此。
进一步需要说明的是,图7A中采用不同的图案来区分不同菜单级别的控件,但在具体实施时,对控件的图案不做限制,不同菜单级别的控件可以采用的图案。
例如,手机100根据图6B所示的拨号流程信息生成的第一用户界面可以是图7B所示的界面。应理解,图7B所示的每个控件中还包含该控件对应的按键数字,在实际应用中控件可以不包含按键数字,本申请不做限制。
如图7C所示,为另一种可能的第一用户界面的示意图,与图7A不同的是,图7A中的控件是横向呈树形拓扑排列,而图7C中的控件是纵向呈树形拓扑排列。
在本申请实施例中,第一用户界面上的控件除了可以按照图7A、图7B或图7C所示的呈树形拓扑排列之外,还可以呈其它形式排列,本申请不做限制。例如图7D所示,第一用户界面上的控件可以呈思维导图的形式排列。
一些可能的实施例中,第三方客服的语音菜单内容较多,导致手机100的显示屏190无法一次显示所有的内容。针对此场景,手机100可以隐藏部分内容,例如只显示第一级和第二级菜单对应的控件,隐藏第三、四、五级菜单对应的控件。
示例性的,手机100可以针对需要被隐藏的内容设置“显示更多内容”的控件,如图7E所示,手机100在接收到针对“显示更多内容”的控件的触控操作之后,显示被隐藏的内容。
示例性的,手机100可以根据接收到的滑动操作的滑动方向更新第一用户界面上显示的控件。如图7F所示,用户向左滑动手机100的显示屏190时,手机100可以根据该滑动操作的滑动方向,将左侧的控件隐藏,并在右侧显示新的控件,呈现用户界面被用户向左拉动的效果。
示例性的,手机100可以根据接收到的缩小/放大操作对第一用户界面进行缩小和放大。如图7G所示,第一用户界面在初始状态下是显示全部空间,当用户使用两根手指触控手机100的屏幕且两根手指的距离逐渐变大之后,手机100将手指触控位置附近的控件放大显示。
示例性的,手机100可以仅显示没有子菜单的控件,即只显示最后一级菜单选项对应的控件,这样可以减少显示内容。例如,图7H所示。
可选的,在本申请实施例中,手机100在确定手机100确定第一号码为第三方客服的电话号码之后,显示第一用户界面之前,还可以弹出一提示窗口,该窗口用于提示用户是否需要展示可视化电话客服的功能。
以下介绍提示窗口的样式。
示例性的,参见图8A和图8B,提示窗口包含提示信息,用于询问用户是否需要展示可视化电话客服的功能,还包括“是”控件和“否”控件。手机100在接收到针对该“是”控件的触控操作后,显示第一用户界面,如图8A所示;手机100在接收到针对该“否”控件的触控操作后,直接根据第一号码生成呼叫请求,走现有的语音拨号流程(电话接通之后,用户需要根据语音提示继续拨号),如图8B所示。
示例性的,参见图8C,提示窗口包含提示信息,用于询问用户是否需要展示可视化电话客服的功能,还包括“确定”控件,手机100在接收到针对该“确定”控件的触控操作后,显示第一用户界面。如果手机100在超过预设时间未接收到针对该“确定”控件的触控操作,则直接显示第一用户界面,或者直接根据第一号码生成呼叫请求,走现有的语音拨号流程。
应理解,以上仅仅是对提示窗口的样式举例而非限定,在具体实施时提示窗口还可以有其它样式,这里不做限制。
S503、手机100在第一用户界面上接收针对第一控件的第二操作;基于第一号码向第三方客服发起呼叫;在电话接通之后,基于第一控件对应的拨号流程信息自动拨号。
以下介绍第二操作的具体实现方式。
方式1,第二操作是针对第一控件的触控操作,例如单击、双击、长按等,本申请对此不做限制。
其中,第一控件可以是第一用户界面上的任一控件,第一控件可以是第三方客服的任一层级菜单中的功能(或服务或业务)所对应的控件。例如,参见图9A,第一控件对应第二级菜单中的话费查询功能,或者例如,参见图9B,第一控件对应第一级菜单中的业务查询功能。
方式2,第二操作是语音指令。语音指令的内容,具体可以是第一服务的相关信息或第一拨号流程信息的相关信息等,这里不做限制。
参见图9C,以用户选择第二级菜单中的话费查询功能为例,用户喊出“业务查询”或“一一”的语音指令,手机100在接收到该语音指令后,解析语音指令的语义,确定第一控件为业务查询功能对应的控件。
应理解,以上两种实现方式仅为第二操作的举例而非限定,实际应用中第二操作还可以有其它具体实现方式。
如果上述第一操作仅包括输入第一号码的操作(例如针对数字10086的触控操作)而不包括针对拨出键的操作,则手机100可以在接收到第二操作之后,立即向第三方客服发送呼叫请求,如图10A所示,也可以接收到第二操作之后,在检测到针对拨出键的触控操作之后,再向第三方客服发送呼叫请求,如图10B所示。
如果上述第一操作包括输入第一号码的操作和针对拨出键的操作,则手机100在接收到第二操作之后,立即向第三方客服发送呼叫请求,如图10C所示。
一种可能的实现方式中,当手机100的处理器110中的Telecomm从内核层接收到第二操作对应多个输入事件之后,Telecomm获取到用户想到达的目标服务(比如话费查询功能)以及达到该目标服务所需要执行的拨号流程(例如:“1”→“1”)然后将获取到的目标服务对应的数字“1”和“1”重组进原来的拨号意图,例如原来的拨号意图为上文S501中的举例的“tel:10086”中,重组之后成为“tel:10086;5;2”或者“tel:10086,5,2”,然后继续走现有的拨号逻辑。
应理解,“tel:10086;1;1”与“tel:10086,1,1的”区别在于,“tel:10086;1;1”格式下,在拨通10086之后,每进入一个下级菜单,手机100都会弹出窗口询问用户是否继续拨号,而在“tel:10086,1,1的”格式下,每进入一个下级菜单,不会弹出窗口询问,而是直接拨号进入话费查询功能对应的服务。
在电话接通之后,手机100会接收到第三方客服反馈的语音菜单,以话费查询对应的各级语音菜单为例:
参见图11A,接通之后,手机100先接收到第一级语音菜单“业务查询请按1,充值与发票请按2,……,人工服务请按0,重听请按9”,手机100的处理器110中的Telecomm根据重组的拨号意图“tel:10086;5;2”或“tel:10086,1,1的”,确定针对第一级语音菜单的第一拨号信息为“1”,向第三方客服反馈“1”,实现自动为用户选择“业务查询”这一菜单选项;第三方客服收到拨号信息“1”后,返回“业务查询”菜单选项下的第二级语音菜单“话费查询请按1,套餐与流量查询请按2,账单查询请按3”;手机100的处理器110中的Telecomm收到该第二级语音菜单后,根据重组的拨号意图“tel:10086;1;1”或“tel:10086,1,1”,确定针对“业务查询”菜单选项下的第二级语音菜单的第二拨号信息为“1”,向第三方客服反馈“1”,实现自动为用户选择“话费查询”这一菜单选项;第三方客服收到拨号信息“1”后,返回话费查询结果,如图11A所示的,手机100收到第三方客服返回“您本月已消费58元,话费余额为22元……”的语音信息,当然这里仅为举例,在具体实施时,话费查询结果还可以是短信或其它格式。
另一种可能的实现方式中,当手机100的处理器110中的Telecomm从内核层接收到第二操作对应多个输入事件之后,Telecomm获取到用户想到达的服务(例如话费查询功能)以及达到该服务所需要执行的拨号流程(例如:“1”→“1”),之后,可以不对原来的拨号意图进行重组,而是另外单独保存一个到达目标服务所需要的拨号信息(如“1,1”),Telecomm直接基于“tel:10086”走拨号逻辑。在电话接通之后,手机收到第三方客服反馈的每一级语音菜单后,基于上述单独保存的拨号信息,向第三方客服发送拨号信息。
例如,电话接通之后,手机100先接收到第一级语音菜单“业务查询请按1,充值与发票请按2,……,人工服务请按0,重听请按9”,手机100的处理器110中的Telecomm根据预先保存的“1,1”,确定针对第一级语音菜单的第一拨号信息为“1”,向第三方客服反馈“1”,实现自动为用户选择“业务查询”这一菜单选项;手机100收到第二级语音菜单“话费查询请按1,套餐与流量查询请按2,账单查询请按3”之后,Telecomm根据预先保存的“1,1”确定针对“业务查询”菜单选项下的第二级语音菜单的第二拨号信息为“1”,向第三方客服反馈“1”,实现自动为用户选择“话费查询”这一菜单选项。
在本申请实施例中,手机100在收到每一级语音菜单之后,可以选择完整地播放每一级语音菜单,或者只播放其中一段语音,或者不播放,本申请不做限制。
例如,图11A所示,手机100完整地播放每一级语音菜单,等待每一级语音菜单的内容播放完毕之后,再向第三方客服返回对应的拨号信息,这样用户同样可以完整地接听到每一级语音菜单。
或者例如,图11B所示,手机100只播放菜单选项对应的语音(如“业务查询”、“话费查询”)而不播放菜单选项对应的按键信息(需要输入数字几),这样,用户可以知道当前的拨号进度,同时又能节省拨号时间,提高用户到达目标服务的效率。
或者例如,图11C所示,手机100不播放第一级和第二级语音菜单,仅播放最后收到的语音信息(即“您本月已消费58元,话费余额为22元……”)。这样,对于用户而言,相当于手机100没有收到第一级和第二级的语音菜单,再执行第二操作之后,是直接收到目标服务对应的内容,达到目标服直达的效果(但实际上收到了第一级和第二级的语音菜单,只是手机100未播放)。
可选的,第一控件是没有子菜单的控件,或者说第一控件对应最后一级菜单,或者说第一服务下没有进一步的菜单选项,或者说第一服务没有进一步的子服务需要选择。
例如,以图9A所示的场景为例,用户选择的第一控件对应的第一服务是话费查询功能,则手机100接通电话之后,如图11A或图11B或图11C所示,到达话费查询功能对应的服务,接听到如下语音:“您本月已消费58元,话费余额为22元……”。
可选的,第一控件是具有子菜单的控件,或者说第一控件不是对应最后一级菜单,或者说第一服务下还有进一步的菜单选项,或者说第一服务还有进一步的子服务需要选择。则手机100接通电话之后,手机100采用可以播放语音提示,提示用户进一步选择拨号。
例如,以图9B所示的场景为例,用户选择的第一控件对应的第一服务是业务查询功能,则手机100接通电话之后,如图11D所示,到达业务查询功能对应的服务,接听到如下语音提示:“话费查询请按1,套餐与流量查询请按2,账单查询请按3……”,用户还需要根据该语音提示进一步选择菜单选项。
为了更加清楚地理解上述方案,这里再例举一个系统流程图来对上述方案进行完整的举例说明。
参见图12,为本申请实施例提供的一种可能的系统流程图,包括:
首先,用户需要拨打第三方客服的电话,于是在手机100的拨号界面上输入电话号码以及拨出键;手机100的Contacts应用在框架层中对应的Activity即DialtactsActivity会发出拨号的intent给Telecomm,Telecomm的UserCallIntentProcessor.java类的processOutgoingCallIntent(Intent,String,boolean,boolean)方法会收到该Intent,例如“tel:10086”,进而获取到号码10086;Telecomm识别到用户的拨打意图,进入准备通话;
然后,InCallUI从数据云服务器(可以是上文中的第二服务器)获得绘制第一用户界面所需的数据(例如第三方客服对应的拨号流程信息),并基于该数据绘制第一用户界面;显示屏显示该第一用户界面;
然后,手机100在第一用户界面上接收到用户对第一控件的点击操作,Telecomm的UserCallIntentProcessor获取第一控件(例如话费查询功能对应的控件)对应的拨号信息(例如1,1),将其重组进原来的拨号意图(重组后例如tel:10086;1;1”或“tel:10086,1,1”);
然后,Telecomm创建电话连接,之后再经过电信服务(TeleService)等模块的处理,将呼叫意图承载到无线信号中发送给第三方客服,实现向第三方客服发起呼叫;
在电话接通之后,Telecom会基于重组的拨号意图tel:10086;1;1”或“tel:10086,1,1”,自动向第三方客服拨号,如此用户可以不用接听语音提示以及不同执行输入操作,就可以到达所需的服务。
其中,第三方客服在语音菜单发生更新后,还可以将更新的数据推送到数据云服务器,以保证第一用户界面上的各控件信息与实际的语音菜单相匹配,提高方案的可靠性。
参见图13,为手机100的phone模块的一种可能的原理图。主要包括:用户在拨号界面添加了被呼叫号码之后,电话号码依次经过电信服务实现类(TelecomServiceImpl)、呼叫适配器(InCallAdapter)、呼叫服务(InCallService)等模块的处理后,传递到Telecomm;Telecomm通过执行本申请实例提供的技术方案,可以识别当前用户的拨号需求,从第二服务器获取第三方客服拨号流程的拓扑树表,调用InCallUI绘制第一用户界面,以及根据用户在第一用户界面上的输入操作确定用户需要到达的服务等;在重组用户的拨号意图之后,继续执行呼叫流程,依次经过呼叫管理(CallsManager)、连接服务(ConnectionService)、电信服务(TeleService)模块以及承载(Carrier)等模块的处理,最后将呼叫发到给第三方客服。
通过上述可知,在本申请实施例中,用户在拨打第三方客服的电话时,手机100可以第三方客服的至少一项服务对应的拨号流程信息,生成可视化的菜单(例如图7A~7H所示的第一用户界面),可视化的菜单设置有第三方客服提供的各项服务对应的控件,当手机100检测到第一用户界面上任一控件被触发时,可以确定出该任一控件对应(的服务)的拨号流程信息,然后基于第三方客服的电话号码向第三方客服发起电话呼叫请求,当电话被接通后,基于该任一控件对应的拨号流程信息自动拨号,进而用户可以不用根据接听冗长的语音提示执行复杂的输入操作,能够极大地节省用户拨号时间,提高用户拨打客服电话的效率,并且对于有听力障碍的用户该方案也极具便利性,可以提高用户体验。
可选的,在电话接通之后,如果手机100接收到拨号操作,则手机100停止自动拨号(向第三方客服发送拨号信息),而是基于该拨号操作重新确定拨号信息,向第三方客服发送该重新确定的拨号信息。
例如,参见图14,电话接通之后,手机100先接收到第一级语音菜单,并播放第一级语音菜单的具体内容(即“业务查询请按1,充值与发票请按2,……,人工服务请按0,重听请按9”),在手机100发送针对第一级语音菜单的拨号信息之前,手机100接收到输入操作,确定用户输了数字“0”,则放弃自动为用户选择“业务查询”这一菜单选项,而是根据用户的输入操作,生成新的拨号信息“0”;第三方客服接收到拨号信息“0”之后,为用户接通人工服务。
通过上述方式,用户在第一用户界面选择了第一控件之后,在到达第一控件对应的服务之前,可以通过执行输入操作,主动选择从自动拨号模式切换为手动拨号模式,还可以更改服务需求,可进一步提高用户体验。
一种可能的实现方式中,手机100在接通电话之后,将通话过程中从第三方客服接收到的语音菜单与手机100用于绘制第一用户界面的拨号流程信息(例如图6B所示的拨号流程信息)进行匹配,若发现不匹配,则停止自动拨号,切换为手动拨号。
例如,InCallUI模块中保存有绘制第一用户界面的拨号流程信息,其中针对带宽业务申报的拨号流程信息为:“宽带业务请按5->宽带业务申报请按2”;手机100在接通电话之后,接收到语音菜单“宽带业务请按5->宽带业务申报请按1”;手机100发现InCallUI模块中针对带宽业务申报的拨号流程信息与实际的语音菜单不匹配,则立即停止自动拨号功能,切换回手动拨号模式(即需要用户输入数字按键才能发送拨号信息),并提示用户已切换回手动拨号模式(该提示方式可以是弹出提示窗口或播放提示语音等,这里不做限制)。
可选的,手机100在确定手机100获取到的用于绘制第一用户界面的拨号流程信息与实际的语音菜单不匹配之后,还可以向第二服务器发送更新请求,以使第二服务器从第一服务器获取最新的第三方客服的拨号流程信息,并下发到手机100,或者直接向第一服务器发送请求,获取最新的第三方客服的拨号流程信息。手机100在下一次检测到拨打第三方客服电话的意图时,根据最新的第三方客服的拨号流程信息绘制第一用户界面。
另一种可能的实现方式中,当手机100在手动拨号模式下(例如图8B所示,用户在第一用户界面上选择了不需要展示可视话电话客服功能,则手机100按照现有流程拨通10086,电话接通之后手机100播放语音菜单且根据用户输入的数字发送拨号信息),采集通话过程中手机100播放的语音菜单,将采集到的语音菜单与手机100本地保存的用于绘制第一用户界面的拨号流程信息进行匹配,若发现不一致,则手机100向第二服务器发送更新请求,以使第二服务器从第一服务器获取最新的第三方客服的拨号流程信息,并下发到手机100,或者手机100直接向第一服务器发送请求,获取最新的第三方客服的拨号流程信息。手机100在下一次检测到拨打第三方客服电话的意图时,根据最新的第三方客服的拨号流程信息绘制第一用户界面。
通过上述方式,手机100能够及时对本地获取到的拨号流程信息进行纠错,及时更新第一用户界面上的控件信息,可以进一步提高方案的可靠性。
本申请上述各个实施例可以单独使用,也可以相互结合使用,以实现不同的技术效果。
上述本申请提供的实施例中,从电子设备作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
基于相同的构思,本申请还提供一种电子设备1500。参见图15,电子设备1500包括处理器1501和存储器1502;所述存储器1502中存储有程序指令;当所述程序指令被执行时,使得电子设备1500执行上文方法实施例中手机100所执行的方法步骤。
本申请实施例中处理器1501可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的指令,结合其硬件完成上述方法的步骤。
在本申请实施例中,存储器1502可以是非易失性存储器,比如硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatilememory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
装置的具体实现方式的相关特征可以参照上文的方法部分,此处不再赘述。
本申请的各个实施例可以单独使用,也可以相互结合使用,以实现不同的技术效果。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
为了解释的目的,前面的描述是通过参考具体实施例来进行描述的。然而,上面的示例性的讨论并非意图是详尽的,也并非意图要将本申请限制到所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施例是为了充分阐明本申请的原理及其实际应用,以由此使得本领域的其他技术人员能够充分利用具有适合于所构想的特定用途的各种修改的本申请以及各种实施例。
Claims (13)
1.一种拨打电话的方法,其特征在于,应用于电子设备,包括:
接收第一操作;根据所述第一操作确定第一号码,所述第一号码为第三方客服的电话号码;
显示第一用户界面,其中所述第一用户界面包括至少一个控件,所述至少一个控件与所述第三方客服的至少一项服务一一对应;
接收针对第一控件的第二操作;
基于所述第一号码向所述第三方客服发起呼叫;在电话接通之后,根据所述第一控件对应的服务对应的拨号流程向所述第三方客服发送拨号信息。
2.如权利要求1所述的方法,其特征在于,在显示第一用户界面之前,还包括:
根据客服标识与电话号码的映射关系,确定所述第一号码为所述第三方客服的电话号码。
3.如权利要求1所述的方法,其特征在于,在显示第一用户界面之前,还包括:
获取所述至少一项服务对应的拨号流程信息;
根据所述至少一项服务对应的拨号流程信息,生成所述第一用户界面。
4.如权利要求3所述的方法,其特征在于,所述获取所述至少一项服务对应的拨号流程信息,包括:
从第一服务器获取所述至少一项服务对应的拨号流程信息,所述第一服务器为所述第三方客服的服务器;
或者,从第二服务器获取所述至少一项服务对应的拨号流程信息,所述第二服务器为所述电子设备的生产厂商的服务器;
或者,从本地读取所述至少一项服务对应的拨号流程信息。
5.如权利要求1所述的方法,其特征在于,在显示第一用户界面之前,还包括:
显示第一窗口,所述第一窗口中包含第一提示信息,所述第一提示信息用于询问是否需要展示可视化电话客服的功能;
所述显示第一用户界面,包括:
在接收到用于指示需要展示所述第一用户界面的指令后,显示所述第一用户界面。
6.如权利要求1-5任一项所述的方法,其特征在于,所述至少一个控件按照菜单级别呈树形拓扑或思维导图拓扑排列。
7.如权利要求1-6任一项所述的方法,其特征在于,在显示所述第一用户界面之后,以及接收针对第一控件的第二操作之前,还包括:
接收第三操作;
响应于所述第三操作,更新所述第一用户界面的视图。
8.如权利要求7所述的方法,其特征在于,更新所述第一用户界面的视图,包括:
在所述第一用户界面上显示所述第一控件;
或者,在所述第一用户界面上放大显示所述第一控件;
或者,改变所述第一控件在所述第一用户界面上的位置。
9.如权利要求1-8任一项所述的方法,其特征在于,在电话接通之后,根据所述第一控件对应的服务对应的拨号流程向所述第三方客服发送拨号信息,包括:
接收所述第三方客服返回的第一级语音菜单;
根据所述第一控件对应的服务对应的拨号流程,确定与所述第一级语音菜单相对应的第一拨号信息,向所述第三客服发送所述第一拨号信息。
10.如权利要求9所述的方法,其特征在于,在向所述第三客服发送所述第一拨号信息之后,还包括:
接收所述第三方客服返回的第二级语音菜单;
根据所述第一控件对应的服务对应的拨号流程,确定与所述第二级语音菜单相对应的第二拨号信息,向所述第三客服发送所述第二拨号信息。
11.如权利要求1-10任一项所述的方法,其特征在于,在电话接通之后,根据所述第一控件对应的服务对应的拨号流程向所述第三方客服发送拨号信息,包括:
判断所述第三方客服返回的语音菜单与所述至少一项服务对应的拨号流程信息是否匹配;
如果匹配,则根据所述第一控件对应的服务对应的拨号流程向所述第三方客服发送拨号信息;
否则,提示用户手动输入拨号信息。
12.一种电子设备,其特征在于,包括显示屏、处理器和存储器;
所述显示屏:用于显示用户界面;
所述存储器存储有可被所述至少一个处理器执行的指令,所述处理器通过执行所述存储器存储的指令,使得所述电子设备执行如权利要求1-11任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,使得如权利要求1-11任一项所述的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011193270.0A CN114449088A (zh) | 2020-10-30 | 2020-10-30 | 一种拨打电话的方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011193270.0A CN114449088A (zh) | 2020-10-30 | 2020-10-30 | 一种拨打电话的方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114449088A true CN114449088A (zh) | 2022-05-06 |
Family
ID=81356714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011193270.0A Pending CN114449088A (zh) | 2020-10-30 | 2020-10-30 | 一种拨打电话的方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114449088A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114885395A (zh) * | 2022-07-08 | 2022-08-09 | 荣耀终端有限公司 | 数据通信方法、电子设备及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333664A (zh) * | 2014-11-21 | 2015-02-04 | 深圳市中兴移动通信有限公司 | 终端拨号的方法及终端 |
CN105100448A (zh) * | 2015-06-30 | 2015-11-25 | 北京奇虎科技有限公司 | 基于终端拨号推荐服务接口的方法及装置 |
-
2020
- 2020-10-30 CN CN202011193270.0A patent/CN114449088A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333664A (zh) * | 2014-11-21 | 2015-02-04 | 深圳市中兴移动通信有限公司 | 终端拨号的方法及终端 |
CN105100448A (zh) * | 2015-06-30 | 2015-11-25 | 北京奇虎科技有限公司 | 基于终端拨号推荐服务接口的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114885395A (zh) * | 2022-07-08 | 2022-08-09 | 荣耀终端有限公司 | 数据通信方法、电子设备及计算机存储介质 |
CN114885395B (zh) * | 2022-07-08 | 2022-11-25 | 荣耀终端有限公司 | 数据通信方法、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11886695B2 (en) | Notification processing method and electronic device | |
CN112947823A (zh) | 会话处理方法、装置、设备及存储介质 | |
WO2017197650A1 (zh) | 通话中的交互方法和设备 | |
US10552182B2 (en) | Multiple display device and method of operating the same | |
US9843667B2 (en) | Electronic device and call service providing method thereof | |
WO2019227488A1 (zh) | 一种查看信息内容的方法及终端 | |
US9001819B1 (en) | Systems and methods for visual presentation and selection of IVR menu | |
WO2016127426A1 (zh) | 一种显示应用、图片的方法、装置及电子设备 | |
KR100849332B1 (ko) | 이미지를 이용한 호 발신 장치 및 방법 | |
WO2022017393A1 (zh) | 显示交互系统、显示方法及设备 | |
CN113485627A (zh) | 一种应用窗口的显示方法及终端 | |
CN103154859A (zh) | 响应于用户交互的自适应设备行为 | |
KR20150040567A (ko) | 휴대 기기에서 연관 정보 표시 방법 및 장치 | |
JP2016530818A (ja) | 通話方法、通話装置及び通話システム、プログラム及び記録媒体 | |
US20150030146A1 (en) | Method, terminal device and storage medium for displaying information | |
CN106105168B (zh) | 一种呼叫转移的方法、终端及便携式电子设备 | |
EP2426899B1 (en) | Method and apparatus for operating call function of portable terminal | |
CN106101456A (zh) | 一种呼叫联系人的方法及装置 | |
US8594280B1 (en) | Systems and methods for visual presentation and selection of IVR menu | |
US10521088B2 (en) | Method and apparatus for abstracting telephony functions | |
CN114449088A (zh) | 一种拨打电话的方法和电子设备 | |
CN108809894B (zh) | 一种网络电话处理的方法及终端 | |
US20120109890A1 (en) | Method and apparatus for registering sns information | |
CN106371896B (zh) | 虚拟机内存配置方法及装置、移动终端 | |
US20240244017A1 (en) | Service Sharing Method and System, and Electronic Device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |