掌桥专利:专业的专利平台
掌桥专利
首页

一种即时通信方法及设备

文献发布时间:2023-06-19 09:26:02


一种即时通信方法及设备

技术领域

本申请涉及通信技术领域,尤其涉及一种即时通信方法及设备。

背景技术

目前,微信等即时通信应用(application,以下简称应用或app)可以通过构建应用内联系人列表/通讯录,在不同终端间实现即时通信和共享数据。然而,即时通信应用以外的其他多数应用,由于没有构建应用内的联系人列表/通讯录,只能借助即时通信应用完成即时消息的接收和发送。比如,浏览器应用分享网页,购物app分享商品链接,视频播放软件分享视频链接等场景,当用户需要与分享对象互发消息时,仍然需要在多个应用之间进行切换。

以视频分享为例,第一用户打开设备A上的第一应用,例如华为视频,将正在播放的《都市男女》第X集通过第二应用,例如微信,向第二用户进行内容分享。如图1A所示,第二用户的设备B通过微信收到来自设备A的华为视频链接,第二用户点击视频链接进入华为视频小程序或华为视频app观看视频,此时,第二用户如果想发消息给第一用户,只能退出视频播放界面,回到微信聊天界面。

以购物分享为例,第一用户在华为商城浏览商品,将其购物车内的商品,例如华为手环4Pro,通过微信分享给第二用户。参见图1B,第二用户的设备B通过微信收到该商品链接,第二用户点击链接进入华为商城小程序或华为商城app购物界面,此时第二用户和第一用户无法在华为商城app上直接沟通,当然也无法进行购物车的共享,不能实现协同购物。

发明内容

本发明实施例提供一种即时通信方法、通信系统及电子设备,实现了通过第二应用分享第一应用内的内容,从而使得用户能够在第一应用内的界面上收发即时消息。

第一方面,本发明实施例提供一种通信系统,包括第一电子设备和第二电子设备,所述第一电子设备显示第一应用的第一界面,所述第一界面包括第一选项;

响应于对所述第一选项的操作,所述第一电子设备通过第二应用向所述第二电子设备发送第一内容的链接,其中,所述第一内容为所述第一应用呈现的内容;

所述第二电子设备显示第三应用的第一对话界面,所述第一对话界面包括第一用户标识和第二选项,所述第二选项与所述第一内容的链接关联,所述第一用户标识用于标识操作所述第一电子设备的用户,所述第三应用对应于所述第二应用;

响应于对所述第二选项的操作,所述第二电子设备显示第四应用的第二界面,所述第二界面包括所述第一内容和第三选项,所述第四应用对应于所述第一应用;

响应于对所述第三选项的操作,所述第二电子设备通过所述第三应用发送第一消息给所述第一电子设备。

通过采用该技术方案,实现了通过第二应用分享第一应用内的内容,从而使得操作第二电子设备的用户能够在第一应用内的界面上向第一电子设备发送即时消息。

在一种可能的实现方式中,所述第一电子设备显示所述第一应用的第三界面,所述第三界面包括提示信息,所述提示信息用于提示第二用户已进入。

通过采用该技术方案,实现了第二用户打开第一内容时及时提示第一用户,获得了实时通知用户的有益效果。

在一种可能的实现方式中,所述第三界面还包括第二用户标识和所述第一消息,所述第二用户标识用于标识所述第二用户,所述第二用户是操作所述第二电子设备的用户。

通过采用该技术方案,实现了第一用户在第一应用内实时接收第二用户发送的即时消息。这样,第一用户不必离开第一应用就能够与第二用户进行即时通信。

在一种可能的实现方式中,所述第一消息为文字消息、语音消息、语音通话请求或视频通话请求。

通过采用该技术方案,实现了第一用户与第二用户在第一应用内接收、发送即时消息,以及进行语音聊天或视频聊天。这样,第一用户、第二用户在分享第一内容的同时,还能够实时通信,提升了用户对设备的使用体验。

在一种可能的实现方式中,所述第二选项与所述第一内容的链接关联包括:所述第二选项是包括所述第一内容链接的卡片或控件。

通过采用该技术方案,以简洁的卡片或控件方式为用户提供第一内容的链接。

在一种可能的实现方式中,所述第一应用为视频应用或音频应用,所述第一内容为视频或音频;

在响应于对所述第一选项的操作,所述第一电子设备通过所述第二应用向所述第二电子设备发送所述第一内容的链接时,所述视频或音频的播放时间为第一时间;

在响应于对所述第二选项的操作,所述第二电子设备显示所述第四应用的所述第二界面时,所述视频或音频的播放时间为第二时间;

所述第一时间与所述第二时间相同。

通过采用该技术方案,对于视频或音频内容,由第一用户控制视频或音频的播放时间,从而实现第一用户与第二用户同步观看视频或聆听音频。

在一种可能的实现方式中,所述第一电子设备显示所述第一应用的第五界面,所述第五界面包括所述第一内容,所述第一内容的播放时间为第三时间,其中,所述第三时间与所述第一时间不同;

所述第二电子设备显示所述第四应用的第六界面,所述第六界面包括所述第一内容,所述第一内容的播放时间为第四时间,其中,所述第四时间与所述第三时间相同。

通过采用该技术方案,对于视频或音频内容,由第一用户来控制视频或音频的快进或快退,从而实现第一用户与第二用户同步观看视频或聆听音频。

在一种可能的实现方式中,其中,所述第一应用为购物应用,所述第一内容为商品,所述第二界面还包括第四选项;

响应于对所述第四选项的操作,所述第二电子设备在所述第四应用中显示第一购物车和第二购物车,其中,所述第一购物车对应于所述第一用户,所述第二购物车对应于第二用户,所述第一用户与所述第二用户不同。

通过采用该技术方案,实现了在购物应用中同步显示第一用户和第二用户的购物车商品,使得第一用户能够看到第二用户的购物车商品,且第二用户能够看到第一用户的购物车商品。

在一种可能的实现方式中,响应于对所述第四选项的操作,所述第二电子设备在所述第四应用中显示第一购物车和第二购物车包括:

所述第二电子设备在所述第四应用中还显示第三购物车,所述第三购物车内的商品为所述第一购物车内商品和所述第二购物车内商品的总和。

通过采用该技术方案,实现了在购物应用中显示第一用户和第二用户购物车内的全部商品,以便于第一用户和第二用户一起购物。

在一种可能的实现方式中,所述第一应用为地图应用,所述第一内容为导航信息;所述第四应用的所述第二界面还包括所述第一用户标识和第二用户标识,所述第二用户标识用于标识操作所述第二电子设备的用户,所述第一用户标识还用于指示所述第一电子设备的地理位置,所述第二用户标识还用于指示所述第二电子设备的地理位置。

通过采用该技术方案,实现了在地图应用中实时显示导航信息、第一用户和第二用户的地理位置信息。这样,第一用户和第二用户能够在一起驾车的过程中能够及时查看对方的位置,并通过第二应用实时接收、发送消息,且用户仅需使用常规的手机就能够实时沟通,无需使用其他通信设备,为用户提供了组队驾车的良好体验。

第二方面,本发明实施例提供一种即时通信方法,应用于具有显示屏的第二电子设备,所述方法包括:

所述第二电子设备显示第三应用的第一对话界面,所述第一对话界面包括第一用户标识和第二选项,所述第二选项与第一内容的链接关联,所述第一用户标识用于标识操作第一电子设备的用户;

其中,所述第一内容是第一应用为所述第一电子设备呈现的内容,所述第一内容的链接由所述第一电子设备通过第二应用发送至所述第二电子设备,所述第三应用对应于所述第二应用;

响应于对所述第二选项的操作,所述第二电子设备显示第四应用的第二界面,所述第二界面包括所述第一内容和第三选项,所述第四应用对应于所述第一应用;

响应于对所述第三选项的操作,所述第二电子设备通过所述第三应用发送第一消息给所述第一电子设备。

通过采用该技术方案,实现了通过第二应用分享第一应用内的内容,从而使得操作第二电子设备的用户能够在第一应用内的界面上向第一电子设备发送即时消息。

在一种可能的实现方式中,所述第一消息为文字消息、语音消息、语音通话请求或视频通话请求。

通过采用该技术方案,实现了第一用户与第二用户在第一应用内接收、发送即时消息,以及进行语音聊天或视频聊天。这样,第二用户在打开第一内容的同时,还能够与第一用户实时通信,提升了用户对设备的使用体验。

在一种可能的实现方式中,所述第二选项与所述第一内容的链接关联包括:所述第二选项是包括所述第一内容链接的卡片或控件。

通过采用该技术方案,以简洁的卡片或控件方式为第二用户提供第一内容的链接。

在一种可能的实现方式中,所述第一应用为视频应用或音频应用,所述第一内容为视频或音频;

在响应于对所述第一选项的操作,所述第一电子设备通过所述第二应用向所述第二电子设备发送所述第一内容的链接时,所述视频或音频的播放时间为第一时间;

在响应于对所述第二选项的操作,所述第二电子设备显示所述第四应用的所述第二界面时,所述视频或音频的播放时间为第二时间;

所述第一时间与所述第二时间相同。

通过采用该技术方案,对于视频或音频内容,由第一用户控制视频或音频的播放时间,从而实现第一用户与第二用户同步观看视频或聆听音频。

在一种可能的实现方式中,所述第二电子设备显示所述第四应用的第六界面,所述第六界面包括所述第一内容,所述第一内容的播放时间为第四时间,所述第四时间与第三时间相同;

其中,所述第三时间为所述第一电子设备显示所述第一应用的第五界面时所述第一内容的播放时间,所述第三时间与所述第一时间不同。

通过采用该技术方案,对于视频或音频内容,由第一用户来控制视频或音频的快进或快退,从而实现第一用户与第二用户同步观看视频或聆听音频。

在一种可能的实现方式中,所述第一应用为购物应用,所述第一内容为商品,所述第二界面还包括第四选项;

响应于对所述第四选项的操作,所述第二电子设备在所述第四应用中显示第一购物车和第二购物车,其中,所述第一购物车对应于所述第一用户,所述第二购物车对应于第二用户,所述第一用户与所述第二用户不同。

通过采用该技术方案,实现了在购物应用中同步显示第一用户和第二用户的购物车商品,使得第二用户既能够看到自己购物车商品,也能够看到第一用户的购物车商品。

在一种可能的实现方式中,响应于对所述第四选项的操作,所述第二电子设备在所述第四应用中显示第一购物车和第二购物车包括:

所述第二电子设备在所述第四应用中还显示第三购物车,所述第三购物车内的商品为所述第一购物车内商品和所述第二购物车内商品的总和。

通过采用该技术方案,实现了在购物应用中显示第一用户和第二用户购物车内的全部商品,以便于第二用户和第一用户一起购物。

在一种可能的实现方式中,所述第一应用为地图应用,所述第一内容为导航信息;所述第四应用的所述第二界面还包括所述第一用户标识和第二用户标识,所述第二用户标识用于标识操作所述第二电子设备的用户,所述第一用户标识还用于指示所述第一电子设备的地理位置,所述第二用户标识还用于指示所述第二电子设备的地理位置。

通过采用该技术方案,实现了在地图应用中实时显示导航信息、第一用户和第二用户的地理位置信息。这样,第二用户能够在和第一用户一起驾车的过程中能够及时查看第一用户的位置,并通过第二应用实时接收、发送消息,且用户仅需使用常规的手机就能够实时沟通,无需使用其他通信设备,为用户提供了组队驾车的良好体验。

另一方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;以及存储器,存储器中存储有代码。当代码被电子设备执行时,使得电子设备执行第二方面任一项可能的实现方式中电子设备执行的即时通信方法。

另一方面,本发明实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行第二方面任一项可能的实现方式中的即时通信方法。

另一方面,本发明实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第二方面任一项可能的实现方式中的即时通信方法。

附图说明

图1A-1B为现有技术中的一种分享场景;

图2A为本发明实施例提供的一种通信系统的架构示意图;

图2B为本发明实施例提供的一种电子设备的硬件结构示意图;

图2C为本发明实施例的一种软件系统架构图;

图2D为本发明实施例的另一种软件系统架构图;

图3A-3M为本发明实施例提供的一组界面示意图;

图4A-4H为本发明实施例提供的另一组界面示意图;

图5为本发明实施例提供的一种视频分享的操作时序图;

图6为本发明实施例提供的另一种视频分享的操作时序图;

图7A-7K为本发明实施例提供的另一组界面示意图;

图8A-8D为本发明实施例提供的另一组界面示意图;

图9为本发明实施例提供的一种商品分享的操作时序图;

图10A-10G为本发明实施例提供的另一组界面示意图;

图11为本发明实施例提供的一种即时通信方法流程图;

图12为本发明实施例提供的另一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。其中,在本发明实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本发明实施例的描述中,“多个”是指两个或多于两个。

以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。

本发明实施例提供一种即时通信方法,可应用于图2A所示的通信系统(也可称为内容分享系统)100中。如图2A所示,该通信系统200中可包括N(N为大于1的整数)个电子设备。这N个电子设备之间可通过通信网络互联。

示例性的,上述通信网络可以是有线网络,也可以是无线网络。例如,上述通信网络可以是局域网(local area networks,LAN),也可以是广域网(wide area networks,WAN),例如互联网。上述通信网络可使用任何已知的网络通信协议来实现,上述网络通信协议可以是各种有线或无线通信协议,诸如以太网、通用串行总线(universal serial bus,USB)、火线(FIREWIRE)、全球移动通讯系统(global system for mobile communications,GSM)、通用分组无线服务(general packet radio service,GPRS)、码分多址接入(codedivision multiple access,CDMA)、宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TDSCDMA),长期演进(long term evolution,LTE)、蓝牙、无线保真(wireless fidelity,WiFi)、NFC、基于互联网协议的语音通话(voice over Internet protocol,VoIP)、支持网络切片架构的通信协议或任何其他合适的通信协议。

示例性地,在一些实施例中,通信系统200中的各个电子设备登陆各自的账号(例如华为账号)后可通过一个或多个服务器互联,以上服务器也可以通过云端实现。在另一些实施例中,通信系统200中的各个电子设备之间可通过Wi-Fi协议建立Wi-Fi连接。

本发明实施例适用于第一电子设备向第二电子设备分享第一应用中内容,例如图1A和图1B所示的分享场景。内容分享通过第一电子设备和第二电子设备中均已安装的第二应用完成,所述第二应用是即时通信应用。所述第二应用既可以是设备出厂前预先安装的应用,例如华为的畅连应用,也可以是用户购买设备后下载或安装的第三方应用,例如微信。第二应用可为每次分享创建一个后台的消息通道,所述第一应用可以利用该通道在所述第一电子设备和第二电子设备之间发送、接收消息、进行语音通话或视频通话。在原有的内容分享的基础上,第二应用为分享双方建立了通信连接,用户不需要离开第一应用即可基于该通信连接进行通信。

本发明实施例提供的即时通信方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等电子设备上,本发明实施例对此不作任何限制。

示例性的,图2B出了电子设备100的结构示意图。

电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。

可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。

在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。

电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。

电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。

天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。

移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。

调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。

无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。

本发明实施例的电子设备可以通过移动通信模块150经天线1,向如图2所示的通信系统200中其他电子设备发送各种消息、语音信号,或者接收通信系统200中发送的各种消息、语音信号。本发明实施例的电子设备也可以通过无线通信模块160经由天线2收发来自通信系统200中其他电子设备的各种消息、语音信号。

电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。

电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。

ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。

摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。

数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。

视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。

NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。

外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。

内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。

电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。

音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。

扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。

受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。

麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。

耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。

按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。

马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。

指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。

SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。

下面介绍本申请实施例提供的一种软件系统架构。

请参照图2C,图2C示出了本申请实施例提供的一种通信系统的软件架构图。其中,该通信系统可以包括两个或多个电子设备,图2C示例性地示出了电子设备A(以下简称设备A)和电子设备B(以下简称设备B)。

如图2C所示,设备A和设备B可以分别包括第一应用和第二应用。

第一应用可以为设备出厂前预先安装的应用,例如华为的视频应用,也可以是设备下载的第三方应用。第一应用包括开放的软件开发工具包(software development kit,SDK)、应用的根目录(AppBase)、和应用界面(AppUi)。其中,开放SDK包括分享模块,分享模块提供两种分享模式:普通分享模式和协同分享模式,分别对应两种应用程序接口(application programming interface,API)。第一应用调用普通分享模式API,只能实现普通的分享;调用协同分享模式的API,分享内容后,第二应用会建立后台消息通道用于两台设备上的第一应用进行即时通信。

第二应用是即时通信应用,同样的,第二应用既可以是设备出厂前预先安装的应用,例如华为的畅连应用,也可以是设备下载的第三方应用,例如微信。畅连应用是智能手机、平板电脑等移动设备上支持移动操作系统的一款社交应用程序,属于华为设备出厂自带的一种即时通信软件。第二应用可以包括消息服务(Message Service)组件、通讯录(Contact)模块、通话界面(CallUI)模块、消息聊天界面(MessageUI)模块、悬浮的消息聊天界面(Float MessageUI)模块、消息基础组件和音视频通话基础组件。第二应用还可以包括活动(activity)模块、多媒体效果(mediaeffect)模块等,本申请实施例对第二应用内模块或组件不作任何限制。设备A的第二应用与设备B的第二应用通过云端进行通信。

第一应用的开放SDK与第二应用的Message Service组件通过Binder传输消息,例如,第一应用通过分享API可以往第二应用的Message Service组件分享内容。消息传输的方式并不限于Binder机制,任何系统进程间通信方式均能够传输第一应用与第二应用之间的消息,例如管道(Pipe)、信号(Signal)和跟踪(Trace)、插口(Socket)、报文队列(Message)、共享内存(Share Memory)和信号量(Semaphore)等,本申请实施例对跨进程通信的消息传输手段不作任何限制。

下面结合内容分享的场景,示例性的说明该软件系统的工作流程。

当设备A的第一应用接收到用户通过第二应用分享内容的操作时,第一应用通过开放SDK调用协同分享模式的API,将内容发送至第二应用。第二应用的Message Service组件解析收到的消息内容,通过后续的mParallelShare字段判断为协同分享模式。第二应用基于协同分享模式创建与第一应用的跨进程消息通道,例如,可以采用Binder机制进行消息传输。同时,Message Service组件进一步将mParallelShare字段以外的消息内容封装成卡片,在MessageUI模块中的聊天窗中展示卡片,并通过消息基础组件完成消息的发送。

设备B的第二应用收到消息后在MessageUI模块的聊天窗中展示卡片,例如图3D中的视频链接卡片343,即设备A的内容已分享至设备B。设备A的第二应用将通道建立的消息通过消息基础组件发送至设备B的第二应用。设备B的第二应用收到该通道建立的消息,由MessageUI模块刷新消息卡片,显示协同分享的入口,如图3E中的控件351。用户点击设备B显示的协同分享的入口,设备B的第二应用拉起设备B中对应的第一应用。设备B的第一应用进一步判断出是协同分享模式,通过开放SDK调用协同分享模式API设置HwParallelShareChannel对象,第二应用根据该对象创建设备B的第二应用与第一应用的跨进程消息通道。

设备A在内部建立了第二应用与第一应用之间的跨进程消息通道,表明第二应用为第一应用分配了一个后台消息通道,通过开放SDK的message api(图中未示出)可以接收和发送第二应用的后台消息。对于设备B而言也是一样,设备B的第二应用与第一应用之间的跨进程消息通道,使得设备B的第二应用内消息可以与第一应用互通。

设备A的第二应用和设备B的第二应用通过云端完成消息的转发,包括分享的内容、后台消息。在设备A和设备B均建立后台消息通道后,第二应用提供Float MessageUI,即悬浮的消息聊天界面,用户通过该UI不用离开第一应用即可通过第二应用进行消息聊天。同时,第一应用通过后台消息通道可以发送特定的应用数据,比如当前播放的视频信息、进度信息、购物车信息等,用以实现特定的用户场景。

下面介绍本申请实施例提供的另一种软件系统架构。

请参照图2D,图2D示出了本申请实施例提供的另一种软件系统架构图。其中,该软件系统可以包括两个或多个电子设备,图2D示例性地示出了电子设备A(以下简称设备A)和电子设备B(以下简称设备B)。设备A和设备B可以包括第一应用和第二应用。

第一应用包括开放的SDK、应用的根目录(AppBase)、和应用界面(AppUi)。其中,开放SDK、AppBase与图2C所示的第一应用的开放SDK、AppBase相同。与图2C所示的第一应用不同的是,图2D所示的第一应用的应用界面(AppUi)包括messageUI,用于在第一应用的界面上提供消息输入窗口,由用户输入文字或语音消息。

第二应用包括消息服务(Message Service)组件、通讯录(Contact)模块、通话界面(CallUI)模块、消息聊天界面(MessageUI)模块、消息基础组件和音视频通话基础组件。与图2C所示的第二应用不同的是,图2D所示的第二应用不再包括Float MessageUI模块。

第一应用的开放SDK与第二应用的Message Service组件之间的跨进程通信的消息传输手段以及内容分享过程的大部分均与图2C所示相同,此处不再赘述,下面仅描述二者不同之处。

在设备A和设备B均建立后台消息通道后,由第一应用提供MessageUI,即消息输入窗口。设备A的用户输入文字或语音消息后,第一应用将输入的消息通过消息通道发送给第二应用的Message Service组件,再经由第二应用的消息基础组件转发至设备B的第二应用的消息基础组件。设备B再将该消息经第二应用的Message Service组件,通过消息通道发送给设备B的第一应用,由第一应用提供的MessageUI显示该消息。

下面结合应用场景,以电子设备为手机为例,介绍本申请的相关技术中内容分享的过程。

以第一应用为视频应用,第二应用为畅连应用,在视频应用中通过畅连应用分享视频链接为例:

首先,用户A需要打开手机A上的视频应用的用户界面(也称UI界面)。

图3A示例性示出了智能手机等电子设备显示的视频应用的用户界面310。视频应用是智能手机、平板电脑等移动设备上的一款或多款为用户提供视频内容的应用程序,又可以被称为“视频软件”。用户通过视频应用能够观看、下载或者上传视频内容。视频应用既可以是设备出厂自带的视频应用,例如图3A所示的华为视频,也可以是第三方发布、需要用户下载安装的视频应用,例如爱奇艺视频、优酷视频等。

在一种可能的实现方式中,本发明实施例也可以适用于为用户提供音频内容的应用程序,简称为音频应用。音频应用既可以是设备出厂自带的音频应用,例如华为音乐,也可以是第三方发布、需要用户下载安装的音频应用,例如网易云音乐、酷狗音乐、QQ音乐等。

如图3A所示,该视频应用的用户界面310中包括有手机A正在播放的视频内容311、评论按钮312、收藏按钮313、分享按钮314。该视频内容311可以有标题,例如,“世界杯足球赛直播2018比利时VS英格兰小组赛”。评论按钮312用于触发打开用户评论区。收藏按钮313可用于触发收藏该视频到视频收藏文件夹。其中,分享按钮314可用于触发打开视频分享界面。

用户A点选用户界面的分享按钮,打开视频分享界面。手机A可以接收用户针对图3A中分享按钮314的输入操作(例如单击),响应于该输入操作,手机A可以显示如图3B所示的视频分享界面320。

如图3B所示,该视频分享界面320中包括有分享卡片321和正在播放的视频内容等,分享卡片321包括新浪微博按钮322、微信按钮323、畅连一起看按钮324、畅连按钮325、复制链接按钮326、更多按钮327和取消按钮328。新浪微博按钮322可用于触发打开新浪微博分享界面。微信按钮323可用于触发打开微信分享界面。畅连一起看按钮324可用于触发打开畅连应用的一起看分享界面。畅连按钮325可用于触发打开畅连应用的分享界面。复制链接按钮326可用于将视频链接复制到剪贴板。更多按钮327可用于触发打开更多与分享相关的功能。取消按钮328可用于取消本次分享。

畅连一起看按钮324能够提供第一分享模式,畅连按钮325能够提供第二分享模式。第一分享模式为协同分享,用于将视频链接分享给畅连应用联系人,被分享的畅连应用联系人打开视频链接卡片,与分享方同步观看视频。第二分享模式为普通分享,用于将视频链接分享给畅连应用联系人,与图1A所示相似的,被分享的畅连应用联系人打开视频链接卡片从头开始观看视频。

用户A点选视频分享界面中的畅连按钮,打开畅连分享界面。手机A可以接收用户针对图3B中畅连一起看按钮324或畅连按钮325的输入操作(例如单击),响应于该输入操作,手机A可以显示如图3C所示的界面330。

如图3C所示,界面330包括搜索按钮331和最近聊天的联系人列表332。搜索按钮331可用于快速查找畅连应用中的联系人。最近聊天的联系人列表332包括手机A最近通过畅连应用聊天的联系人,每个联系人包括联系人头像和昵称,例如,用户B头像按钮333,用户B的昵称按钮334。

用户A点选用户B的头像或昵称按钮,将视频链接分享至用户B。手机A可以接收用户针对图3C中用户B的头像按钮333或昵称按钮334的输入操作(例如单击),响应于该输入操作,手机A将“世界杯足球赛直播2018比利时VS英格兰小组赛”视频链接分享给手机B。分享完后,如果用户A选择留在视频应用继续观看播放的视频内容,手机A将显示视频播放界面。

示例性地,用户A选择畅连一起看按钮324将视频分享给用户B之后,用户B在手机B上打开畅连应用,选择用户A,进入与用户A的聊天界面后,可以显示如图3D所示的畅连聊天界面340或者如图3E-1所示的畅连聊天界面350。

如图3D所示,该畅连聊天界面340包括用户B头像按钮341、用户A头像按钮342、视频链接卡片343、通话按钮344、更多按钮346、输入框345、播放按钮348和语音输入按钮347。用户B头像按钮341和用户A头像按钮342可用于触发打开显示用户信息的界面。视频链接卡片343可用于触发打开分享的视频链接,可选地,卡片上显示“一起看”图标以提示用户点击该卡片将与用户A同步观看视频。通话按钮344可用于触发开启与用户A的通话界面。更多按钮346可用于触发打开更多与畅连应用相关的功能。输入框345可用于触发开启输入文字消息。语音输入按钮347可用于触发开启输入语音消息。用户点击视频链接卡片343的播放按钮348,用户B打开视频链接卡片与用户A同步观看视频。

如图3E-1所示,该畅连聊天界面350包括用户B头像按钮、用户A头像按钮、视频链接卡片353、通话按钮、更多按钮、输入框、播放按钮354和语音输入按钮。视频链接卡片353可用于触发打开分享的视频链接。视频链接卡片353下方显示控件351,控件351用于显示协同分享入口,例如“一起看”。可选地,视频链接卡片353下方还可以包括控件352。控件352用于显示投屏入口,例如“智慧屏播放”,用户点选后将视频播放内容投射至智慧屏进行播放。如果用户点击视频链接卡片353的播放按钮354,将打开视频链接从头开始观看视频。如果用户点击控件351,将打开视频链接与用户A同步观看视频。

示例性地,用户A选择畅连按钮325将视频分享给用户B之后,用户B在手机B上打开畅连应用,选择用户A,进入与用户A的聊天界面后,可以显示如图3E-1所示的畅连聊天界面350或者如图3E-2所示的畅连聊天界面355。

如图3E-2所示,该畅连聊天界面355包括用户B头像按钮、用户A头像按钮、视频链接卡片356、通话按钮、更多按钮、输入框、播放按钮357和语音输入按钮。视频链接卡片356可用于触发打开分享的视频链接。如果用户点击视频链接卡片356的播放按钮357,将打开视频链接从头开始观看视频。

手机B可以接收用户针对图3D中播放按钮或图3E中控件351的输入操作(例如单击),响应于该输入操作,手机B的畅连应用自动拉起视频应用,打开如图3F所示的视频播放界面360。

如图3F所示,该视频播放界面360包括有视频进度控件361、暂停按钮362、下一集按钮363、畅连按钮364、消息输入框控件365、音量控件366和语音输入按钮367。视频进度控件361可用于指示当前视频播放进度,用户拖动控件361能够改变视频播放进度。如图3F所示,当前播放的标题为“世界杯足球赛直播2018比利时VS英格兰小组赛”的视频时长为41分50秒,当前播放进度为20分00秒,控件361指示在进度条中间对应20分钟的位置。暂停按钮362可用于触发暂时停止当前视频播放。下一集按钮363可用于触发打开下一个视频。畅连按钮364可用于触发开启畅连应用提供的语音聊天或视频聊天功能。消息输入框控件365可用于触发打开消息输入界面。音量控件366可用于指示当前音量,用户拖动控件366能够调节音量变大或变小。语音输入按钮367可用于触发开启输入语音消息。

手机B打开如图3F所示的视频播放界面360时,视频播放进度为图3B所示的视频分享界面320的视频播放进度。即,当用户B选择同步观看用户A分享的视频时,手机B启动视频应用后,自动将视频播放进度调整为与手机A的视频播放进度保持一致。在本实施例中,用户A在分享该视频时,播放进度为20分00秒,因此,手机B的视频播放进度自动跳转到20分00秒。可选地,手机B视频播放的音量也与手机A的播放音量保持一致。

手机B打开如图3F所示的视频播放界面360之后,手机B向手机A发送消息,指示用户B已选择同步观看用户A分享的视频,并已经启动视频播放界面,可选的,手机B向手机A发送的消息可以是“用户B已进入放映厅”,手机A接收到该消息后在视频播放界面370显示该消息。

如图3G所示,手机A显示用户B已进入放映厅的消息通知。手机A的视频播放界面370显示消息提示371,例如,消息提示的内容为“用户B已进入放映厅”。手机A的视频播放界面370也包括有视频进度控件372、暂停按钮、下一集按钮、畅连按钮、消息输入框控件373和音量控件。以上按钮或控件与手机B的视频播放界面360内的按钮或控件功能相同,此处不再赘述。

用户A点击消息输入框控件,进入消息输入界面。

手机A可以接收用户针对图3G中控件373的输入操作(例如单击),响应于该输入操作,手机A打开如图3H所示的消息输入界面380。

如图3H所示,该消息输入界面380包括调色板按钮382、消息输入框383、消息发送控件384和键盘控件385。调色板按钮382可用于控制输入消息的颜色、输入消息在播放界面中的显示位置等。消息输入框383可用于显示用户通过键盘控件385所选择输入的文字,例如,“刚才凯恩进了个球”。用户输入完成后点击消息发送控件384后,消息输入界面380可显示聊天消息内容,例如,用户A头像或昵称,以及用户选择发送的文字消息。

上述聊天消息通过手机A发送至手机B后,手机B的视频播放界面上也同步显示上述消息内容,包括用户A头像或昵称,以及用户A选择发送的文字消息,参见图3I的视频播放界面375。用户B需要对手机A发送的文字消息进行回复或评论时,手机B可接收针对图3I中控件365的输入操作(例如单击),响应于该输入操作,手机B打开如图3J所示的消息输入界面390。

如图3J所示,该消息输入界面390包括调色板按钮、消息输入框、消息发送控件、和键盘控件。以上按钮或控件与手机A的消息输入界面380内的按钮或控件功能相同,此处不再赘述。用户B通过键盘控件输入文字,例如,“回放看看进球”。用户输入完成后点击消息发送控件,消息输入界面390显示聊天消息内容,包括用户B的头像或昵称,以及用户B选择发送的文字消息,显示在手机A的视频播放界面393内,参见图3K。

用户A继续输入“OK”,文字信息显示在手机A的视频播放界面393中。

随后,用户A沿着如图3K所示的箭头方向移动视频进度控件372,能够控制视频播放进度。手机A可以接收用户A对视频进度控件372的输入操作(例如拖动、释放),响应于该输入操作,进入如图3L所示的视频播放界面394。

如图3L所示,视频播放界面394包括有新的视频播放内容395和视频进度控件372。视频播放内容395可以是不同于视频内容311在20分钟时所播放的内容,例如,凯恩进球的画面。视频进度控件372显示在视频进度条第18分30秒的位置。

手机A的视频应用将用户后退视频的信息,发送至手机B的畅连应用,手机B的畅连应用再将该消息发送至手机B的视频应用,手机B解析消息并控制视频快退至视频第18分30秒的位置,如图3M所示。手机B的视频播放界面同样显示视频播放内容395,其视频进度控件361也显示在视频进度条第18分30秒的位置。

在一种可能的实现方式中,用户A和用户B在视频播放过程中的聊天,是在视频应用提供的AppUi模块中进行。示例性的,采用如图2D所示的软件系统架构图,视频应用的应用界面(AppUi)包括messageUI,用于在视频应用的界面上提供消息输入窗口,由用户输入文字或语音消息。如图3F-3M所示的手机A的消息输入框控件373、语音输入按钮、消息输入界面380、调色板按钮382、消息输入框383、消息发送控件384和键盘控件385,以及手机B的消息输入框控件365、语音输入按钮367、消息输入界面390、调色板按钮、消息输入框、消息发送控件和键盘控件,以及用户A和用户B输入的语音或文字消息显示等,均由视频应用例如华为视频提供。

在一种可能的实现方式中,用户A和用户B在视频播放过程中的聊天,也可以由畅连应用提供聊天用户界面,并且可以进行实时语音聊天。示例性的,采用如图2C所示的软件系统架构图,畅连应用包括悬浮的消息聊天界面(Float MessageUI)模块,用于在视频应用的界面上提供消息输入窗口,由用户输入文字或语音消息。如图3F-3M所示的手机A的畅连按钮、消息输入框控件373、语音输入按钮、消息输入界面380、调色板按钮382、消息输入框383、消息发送控件384和键盘控件385,以及手机B的畅连按钮364、消息输入框控件365、语音输入按钮367、消息输入界面390、调色板按钮、消息输入框、消息发送控件和键盘控件,以及用户A和用户B输入的语音或文字消息显示等,均由畅连应用提供。

在一些实施例中,当用户A在视频应用中打开畅连分享界面时,手机A可以在接收到用户选择一个群组后,将播放的视频链接分享到用户选择的群组。

示例性的,如图4A所示,用户A在视频应用中打开畅连分享界面410,选择群名为“XXXXXX群”的群组412。手机A可以接收用户针对群组412的输入操作(例如单击),响应于该输入操作,群组内的成员收到用户A分享的视频链接。

示例性的,如图4B所示,手机B可以显示畅连聊天界面420。畅连聊天界面420包括用户A头像按钮、用户B头像按钮、用户C头像按钮421、视频链接卡片、通话按钮、畅连按钮、更多按钮、语音输入按钮、协同分享入口、智慧屏播放等。用户C头像按钮421可用于触发打开用户信息。手机C也可以显示相应的畅连聊天界面。用户B和用户C可以分别点击协同分享入口与用户A一起看视频,也可以选择不点击进入。

示例性的,如图4C所示,群组412内的用户B点击协同分享入口与用户A一起看视频,手机B呈现视频播放界面430,视频播放进度、当前音量等均与手机A相同并由手机A控制。用户A和用户B能够在视频播放界面430上互动聊天。

另外,如图4C所示,在视频播放界面430上提供畅连按钮431,用于触发开启畅连应用提供的语音聊天或视频聊天功能。用户B点击或长按畅连按钮431,出现如图4D所示的视频通话、语音通话选项。用户选择语音通话选项之后,如图4E所示,手机A将显示语音通话界面440。如果用户点击“视频通话”,可以开启视频聊天窗口,悬浮在当前视频播放界面上,呈现画中画的效果,用户可以改变视频聊天窗口的大小,或者隐藏视频聊天窗口。

如图4E所示,语音通话界面440包括用户B的头像441、接听按钮442和挂断按钮443。用户B的头像441可用于提示用户B邀请你语音通话。接听按钮442可用于触发建立语音通话连接。挂断按钮443可用于关闭语音通话。可选地,语音通话界面440还可以包括静音按钮。上述包括用户B的头像441、接听按钮442和挂断按钮443的语音窗口是可以改变位置和大小的,以及能够自动隐藏。

如果用户A选择“接听”后,手机A和手机B建立语音通话连接。此时,用户A和用户B可以一边语音通话一边看视频。例如用户B语音请求用户A回放刚才凯恩的进球,用户A拖动视频进度条,如图4F和4G所示,用户A和用户B均可以观看凯恩的射门瞬间。

如图4F所示,语音通话界面450包括语音聊天窗口451,语音聊天窗口451内包括用户B的头像452、免提按钮453和挂断按钮454。用户B的头像452可用于提示与用户A语音通话的对象以及通话时间,例如4F所示的00:06秒。免提按钮453可用于触发开启语音通话的免提功能,如果用户开启免提,则暂时将球赛的解说声音降低。或者,用户已将手机A投屏至智慧屏播放,在建立语音连接后,手机A暂时弱化球赛的解说声音,以便用户进行语音聊天。挂断按钮454可用于关闭语音通话。可选地,语音通话界面450还可以包括静音按钮。语音聊天窗口451是可以改变位置和大小的,以及能够自动隐藏。

如图4G所示,语音通话界面460包括语音聊天窗口461,语音聊天窗口461内包括用户A的头像462、免提按钮463和挂断按钮464。用户A的头像462可用于提示与用户B语音通话的对象以及通话时间,例如4G所示的00:06秒。免提按钮463和挂断按钮464与图4F所示的免提按钮453和挂断按钮454功能类似,此处不再赘述。

示例性的,如图4H所示,群组412内的用户C没有点击协同分享入口,手机C呈现的仍然是畅连聊天界面,用户C在该聊天界面内接收、发送消息。

下面结合分享视频的应用场景,介绍具体的操作时序图。

请参见图5,图5示出了一种视频分享的操作时序图。其中,该方法流程图中涉及的设备包括有设备A和与设备A交互的设备。其中,交互设备可以为上述图4中所示的设备B、设备C,设备A-C之间通过图1所示的通信网络进行交互。其中,设备A-C可以示例性的参考上述图2C所示系统架构。图5所示的第一应用可以为视频应用,第二应用可以为畅连应用等即时通信应用。

如图5所示,该方法包括:

S501、第一分享模式分享视频。

示例性的,设备A可以接收用户分享第一内容的输入操作(例如单击分享按钮),响应于所述输入操作,设备A显示内容分享界面,其中,该内容分享界面可以参考上述图3B所示的视频分享界面320。以第一分享模式分享视频可以为用户A点击如图3B所示的畅连一起看按钮324,将视频分享给操作设备B的用户。

所述第一应用程序通过集成的开放SDK(参见图2C,设备A的第一应用软件结构),调用协同分享API。所述第一应用程序通过调用API而使设备操作系统去执行应用程序的命令。所述协同分享API包括一个接口,所述接口包括目标场景(targetScene)、分享内容信息(HwCaasShareInfo)函数和协同分享通道(HwParallelShareChannel)函数。目标场景(targetScene)用于指示所发送的消息等场景对象。

S502、发送HwCaasShareInfo视频信息。

所述视频信息为协同分享API携带的分享内容信息(HwCaasShareInfo)。

分享内容信息(HwCaasShareInfo)包括:

分享模式(mParallelShare:0:普通分享;1:协同分享);

语音通话功能(mMakeCall:是否启动语音通话功能;0:否;1:是);

分享类型(mShareType:购物,新闻/网页,短视频,长视频,音乐,文字);

分享信息(mShareInfo:消息内容,标题、内容等);

缩略图(mThumbBitmap:缩略图);

封装信息(mPackageInfo:应用名和应用图标);

网页链接(mWebUrl:h5页面地址);

应用链接(mAppUrl:app页面地址);

流媒体链接(mStreamUrl:流媒体在线播放地址);

其他信息(mExtraInfo:其他消息内容;视频播放的当前进度、当前位置信息、当前音乐进度信息、当前购物车信息等)。

设备A内第二应用的MessageService组件收到第一应用的分享调用后,解析消息内容,通过mParallelShare字段判断是否为协同分享模式。同时,将所述第一消息中的其他消息内容封装成卡片,在MessageUI模块的聊天窗中展示卡片。第二应用通过消息基础组件将所述第一消息发送给设备B。设备B收到上述消息后,可以在第二应用中显示卡片,例如,图3D所示的视频链接卡片343。

S503、创建HwParallelShareChannel消息通道。

设备A的第二应用判断如果是协同分享模式,则创建设备A内的第二应用与第一应用的跨进程消息通道。跨进程消息通道通过协同分享通道(HwParallelShareChannel)实现。协同分享通道(HwParallelShareChannel)用于在第一应用与第二应用之间收发数据,在调用协同分享API时进行设置,从而建立第一应用与第二应用之间的跨进程消息通道。该通道函数定义为包括收发应用信息(AppMessage)、收发聊天消息(ChatMessage)。其中,应用信息包括头像(mIdIcon)、昵称(mIdDescription)和消息内容(消息内容),聊天消息包括头像、昵称、纯文本、语音、视频、图片、小文件、预置标签、地理位置。

S504、消息通道创建成功。

设备A内的第二应用与第一应用的跨进程消息通道建立完成之后,第二应用通过消息基础组件向设备B的第二应用发送通道建立消息。

S505、显示一起看入口。

设备B的第二应用收到通道建立消息,MessageUI模块刷新消息卡片,显示一起看入口,如图3E中的控件351或如3D的视频链接卡片343上的一起看。

S506、用户选择一起看。

示例性的,用户点击一起看入口,如图3E中的控件351或如3D的视频链接卡片343的播放按钮,设备B的MessageUI模块通过mAppUrl信息自动打开对应的第一应用。

S507、设置消息回调接口。

示例性的,视频应用启动后,解析出第一消息中的分享模式mParallelShare和其他信息mExtraInfo。

首先判断是否为第一分享模式,如果是协同分享,则通过开放SDK的API设置对象HwParallelShareChannel到第二应用,第二应用通过HwParallelShareChannel对象建立第二应用和视频应用的消息通道,并记录与聊天窗threadID对应关系。

其次,解析mExtraInfo中的信息,该信息由设备A的视频应用填充、设备B的视频应用解析,该信息的格式内容由视频应用定义,可以定义如下格式作为参考:

currentTime:20.0;

currentVolume:65;

即当前播放时间是20min;当前播放的音量是65%。

最后,在视频应用中播放第一内容,播放参数为解析出的参数。示例性地,如图3F所示的视频播放界面360。

S508、通过消息通道发送进入房间的消息。

设备B通过协同分享通道(HwParallelShareChannel)对象的sendAppMessage方法发送进入房间的消息。消息内容mMessageInfo格式由视频应用自定义,可以定义如下格式作为参考:JoinRoom:1。所述消息发送到第二应用的MessageService组件,MessageService组件判断是应用消息(AppMessage),通过消息基础组件转发给设备A。设备A的第二应用收到消息后判断是AppMessage,通过协同分享通道(HwParallelShareChannel)的onAppMessageReceive转发给对应的第一应用。

S509、提示用户B进入。

设备A的第一应用收到消息后,解析mMessageInfo为进入房间消息,刷新视频播放界面,提醒用户进入放映厅,例如图3G中的消息提示371。

S510、用户A输入聊天消息,封装成聊天消息格式。

用户A通过HwParallelShareChannel对象的sendChatMessage方法发送聊天消息,按照既定聊天消息格式填充内容。

S511、通过消息通道发送聊天消息。

第二应用收到消息后,判断是chatMessage,解析消息内容,刷新聊天界面MessageUI,同时将消息通过消息基础组件转发给设备B,设备B收到消息后判断是chatMessage,刷新聊天界面MessageUI,同时通过HwParallelShareChannel对象的onChatMessageReceive方法转发给对应的视频应用。

S512、解析聊天消息,并显示。

视频应用收到后解析chatMessage,并刷新UI显示聊天消息。

S513、用户快进/快退控制视频播放进度。

S514、封装成控制消息格式。

视频应用封装快进视频消息,通过AppChannelMessage封装,消息内容mMessageInfo格式由视频应用自定义,可以定义如下格式作为参考:

forward:30s;//快进30s。

S515、通过消息通道发送控制消息。

S516、解析消息,并同步控制视频进度。

在一些实施例中,分享双方在视频播放过程中聊天,由畅连应用提供聊天用户界面,并且可以进行实时语音聊天。示例性的,图6示出了语音聊天的具体操作时序图,设备A与设备B可以示例性的参考上述图2D所示系统架构。图6所示的第一应用可以为视频应用,第二应用可以为畅连应用等即时通信应用。其中,设备A通过畅连应用向设备B分享视频的步骤S601-S605与图5中的步骤S501-505相同,步骤S607-S610与图5中的步骤S506-509相同因此,图6中与图5相同的步骤在此处不再赘述。

S606、设备A的视频应用调用畅连应用提供的API接口,设置显示悬浮聊天窗口。设置显示的过程例如为:

public void showChatUI(true){}。

S611、设备B收到分享的视频,用户点击一起看入口启动视频应用之后,视频应用调用第二应用提供的API接口,设置显示悬浮聊天窗口。具体设置显示的过程同步骤606。

S612、第二应用的FloatMessageUI模块提供悬浮的聊天界面,用户从该界面输入聊天消息,并发送。

S613、经设备A输入的聊天消息经过第二应用的消息基础组件发送到设备B上。

S614、设备B的悬浮聊天界面显示新消息通知,用户可在FloatMessageUI提供的悬浮聊天界面中查看、回复消息等。

S615、用户在设备A的FloatMessageUI模块中打开语音呼叫,发起语音通话请求。请求发起后可显示CallUI,即通话UI,也可以直接刷新FloatMessageUI模块显示通话状态。

S616、语音通话请求通过设备A的音视频通话基础组件发送给设备B。

S617、设备B显示呼叫/来电通知。

S618、用户在设备B端应答请求后,音视频通话组件建立语音频道,双方进入同一个语音频道,从而建立语音通话连接,进行实时通话。用户可通过CallUI进行挂断。

在一种可能的实施方式中,一起看视频时进行语音通话功能,可以在悬浮聊天界面发起,也可以在分享视频时直接发起,即在调用协同分享API时,在ShareInfo中指定是否启动语音通话;如果是,则同时启动语音呼叫和悬浮UI,并将标志发送到对方,对方解析该标志后,同步显示悬浮来电UI。

上述视频分享的实施例通过第二应用提供API接口,支持所有第一应用使用该消息通道构建自己的即时通信能力。通过该即时消息通道,第一应用允许用户发送聊天信息,实现自身的即时聊天功能。第一应用也可以通过该消息通道发送自己的业务信息,比如视频进度信息实现同步一起看视频,将业务信息按照一定的格式封装后通过消息通道发送,并由接收方的第一应用接收并解析成业务信息。而且,该消息通道支持发送文字、图片、音乐、视频、网页、应用等多种格式。本申请实施例解决了现有的移动设备端侧只能通过消息分享视频连接,分享后不能获得即时通信的能力,不能邀请好友一起看视频,不能全屏看视频过程中聊天等问题。

以第一应用为购物应用,第二应用为畅连应用,在购物应用中通过畅连应用分享商品链接为例,介绍本申请相关技术中内容分享的过程。

图7A示例性示出了智能手机等电子设备显示的购物应用的用户界面710。购物应用是智能手机、平板电脑等移动设备上的一款或多款为用户提供网上购买商品的应用程序,又可以被称为“购物软件”、“网购类应用”、“商城类应用”。用户通过购物应用能够查找、浏览或者购买应用内提供的商品。购物应用既可以是设备出厂自带的购物应用,例如图7A所示的华为商城,也可以是第三方发布、需要用户下载安装的购物应用,例如京东、淘宝、天猫、1号店等。

如图7A所示,该视频应用的用户界面710中包括有设备A正在浏览的商品图片711、商品名称712、商品价格713、分享按钮714、收藏按钮715、加入购物车按钮716、立即购买按钮717、商品优惠718和购物车按钮719。该商品图片711可以有一张或多张,也可以包括商品介绍视频。商品名称712用于显示商品品牌、类别、功能等,例如“华为手环4Pro炫彩表盘NFC智能刷卡...”。商品价格713可用于标识商品的售卖价格。其中,分享按钮714可用于触发打开商品分享界面。收藏按钮715用于触发将该商品加入个人收藏的功能。加入购物车按钮716可用于触发将该商品加入当前用户的购物车中。立即购买按钮717可用于触发立即购买该商品的操作。商品优惠718可用于显示该商品当前或以后的优惠活动,例如“第二件半价”。购物车按钮719可用于触发进入用户的购物车界面。

设备A可以接收用户针对图7A中分享按钮714的输入操作(例如单击),响应于该输入操作,设备A可以显示如图7B所示的商品分享界面720。

如图7B所示,该商品分享界面720中包括有分享卡片721、新浪微博按钮722、微信按钮723、朋友圈按钮724、畅连按钮725、复制链接按钮726、更多按钮727和取消按钮728。该分享卡片721用于显示可分享的多个按钮和取消按钮。新浪微博按钮722可用于触发打开新浪微博分享界面。微信按钮723可用于触发打开微信分享界面。朋友圈按钮724可用于触发微信朋友圈发布界面。畅连按钮725可用于触发打开畅连应用的分享界面,畅连应用即前述第二应用。复制链接按钮726可用于将视频链接复制到剪贴板。更多按钮727可用于触发打开更多与分享相关的功能。取消按钮728可用于取消本次分享。

设备A可以接收用户针对图7B中畅连按钮725的输入操作(例如单击),响应于该输入操作,设备A可以显示如图7C所示的畅连分享界面730。

如图7C所示,该畅连分享界面730包括搜索按钮731和联系人列表732。搜索按钮331可用于快速查找畅连应用中的联系人。联系人列表732包括设备A的畅连应用中的联系人,每个联系人包括联系人头像和昵称,例如,用户B头像按钮733,用户B的昵称按钮734。

设备A可以接收用户针对图7C中用户B的头像按钮733或昵称按钮734的输入操作(例如单击),响应于该输入操作,用户B收到用户A分享的商品链接。用户B在设备B上打开畅连应用,选择用户A,可以显示如图7D所示的畅连聊天界面740。

如图7D所示,该畅连聊天界面740包括用户B头像按钮741、用户A头像按钮742、商品链接卡片743、通话按钮744、畅连按钮745、更多按钮746、和语音输入按钮747。用户B头像按钮741和用户A头像按钮742可用于触发打开用户信息。商品链接卡片743可用于触发打开分享的商品链接。通话按钮744可用于触发开启与用户A的通话界面。畅连按钮745可用于触发开启畅连应用提供的语音聊天或视频聊天功能。更多按钮746可用于触发打开更多与畅连应用相关的功能。语音输入按钮747可用于触发开启输入语音消息。

可选地,设备A创建购物应用与第二应用的后台消息通道之后,将通道建立的消息通过消息基础组件发送至设备B的第二应用。设备B的第二应用收到该通道建立的消息,由MessageUI模块刷新消息卡片,显示协同分享的入口,参见图7E的商品链接卡片753。

如图7E所示,商品链接卡片753可以显示标识751。标识751用于提示用户点击当前的商品链接卡片将进入“协同购物”。可以理解的是,标识751也可以以控件的形式显示在商品链接卡片753附近,本申请对协同分享入口的具体显示位置和结构不做限制。

设备B可以接收用户针对图7E中商品链接卡片753的输入操作(例如单击),响应于该输入操作,设备B的畅连应用自动拉起购物应用,打开如图7F所示的商品浏览界面760。

如图7F所示,该商品浏览界面760包括有畅连按钮761、消息输入框控件762,以及与图7A类似的商品信息。畅连按钮761用于触发开启畅连应用提供的语音聊天或视频聊天功能。消息输入框控件762可用于触发打开消息输入界面。示例性的,用户B点击或长按畅连按钮,出现视频通话、语音通话选项。用户选择语音通话选项之后,设备A将提示用户B邀请你进行语音通话,并提供“接听”和“挂断”选项。用户A选择“接听”后,设备A和设备B建立语音通话连接。

设备B打开如图7F所示的商品浏览界面760之后,设备B向设备A发送指示用户B已进入聊天室的消息,设备A接收到该消息后在界面710显示消息通知。

如图7G所示,设备A的界面710显示消息通知771,例如,通知内的消息内容为“用户B已进入协同购物”。并且,界面710上也包括有畅连按钮和消息输入框控件,其功能与图7F所示的按钮、控件功能相同,此处不再赘述。

可选地,用户A和用户B通过消息输入框控件进行消息输入聊天,或者通过畅连按钮触发的实时语音聊天,确认都购买该商品,用户A和用户B分别将图7A所示的商品加入购物车后,手机A显示如图7H所示的购物车界面。

如图7H所示,手机A中购物应用显示的购物车包括全部购物车界面380、我的购物车界面381和B的购物车界面382。用户点击界面中的图标“全部”、“我的”或“B的购物车”,从而切换所显示的购物车界面,在被选中的图标下划线以标识所显示的购物车界面。例如,全部购物车界面380包括“全部”图标383、“我的”图标784和“B的购物车”图标785,“全部”图标383标识有下划线,以提示用户当前显示的是用户A和用户B购物车内全部商品。相应地,我的购物车界面381内当前显示的是用户A购物车内的商品,例如,1件手环、1件手机和1件游戏手柄。B的购物车界面382内显示的是用户B购物车内的商品,例如,1件手环。

相应地,手机B购物应用显示的购物车包括全部购物车界面、我的购物车界面和A的购物车界面,我的购物车内是用户B购物车内的商品,A的购物车内是用户A购物车内的商品,全部购物车内是用户A购物车内的商品与用户B购物车内的商品的总和。

示例性地,用户A选择全部购物车界面780内的2件华为手环,全部购物车界面780相应刷新页面下方的“合计”金额。用户点击“去结算”按钮,支付成功后将显示如图7J所示的订单支付成功页面。如图7K所示,设备B的用户界面显示消息通知“用户A已帮您购买了商品XXX”,可选的,当收到该消息通知后,设备B中的购物应用可以清空购物车中刚才加入的手环,并且显示提示信息“你的购物车是空的”。

可选地,华为商城提供满99元包邮服务,用户A购买手环已满99元可以包邮,用户B不想买用户A分享的手环,希望购买39元的游戏手柄,无法享受包邮服务。于是,用户A和用户B通过消息输入框控件进行消息输入聊天,或者通过畅连按钮触发的实时语音聊天,用户A选择手环加入购物车,用户B选择游戏手柄加入购物车,手机A显示如图7I所示的购物车界面。

如图7I所示,手机A中购物应用显示的购物车包括全部购物车界面390、我的购物车界面391和B的购物车界面392。用户点击界面中的图标“全部”、“我的”或“B的购物车”,从而切换所显示的购物车界面,在被选中的图标有下划线以标识所显示的购物车界面。购物车界面390-392分别包括“全部”图标、“我的”图标和“B的购物车”图标。全部购物车界面390显示的是用户A和用户B购物车内全部商品,例如,1件手环和1件游戏手柄。相应地,我的购物车界面391内当前显示的是用户A购物车内的商品,例如,1件手环。B的购物车界面392内显示的是用户B购物车内的商品,例如,1件游戏手柄。按照用户A和用户B协商的结果,用户A选择购物车界面790内的手环和游戏手柄,购物车界面相应刷新页面下方的“合计”金额,由用户A进行结算。

在一些实施例中,当用户B点击商品链接卡片753打开购物应用中的商品浏览界面之后,用户B可以继续浏览第二商品,并将第二商品链接分享给用户A。

示例性的,设备B接收用户针对图7E中商品链接卡片753的输入操作(例如单击),响应于该输入操作,设备B的畅连应用自动拉起购物应用,打开如图7F所示的商品浏览界面760。用户B可以继续浏览其他商品,打开如图8A所示的商品浏览界面810。商品浏览界面810中包括有用户正在浏览的商品图片811、商品名称812、商品价格813和分享按钮814等。该商品图片811可以有一张或多张,也可以包括商品介绍视频。商品名称812用于显示商品品牌、类别、功能等,例如“游戏手柄(红色)(DESIGN FOR HUAWEI认证)”。商品价格813可用于标识商品的售卖价格,例如人民币39元。其中,分享按钮814可用于触发打开如图8B所示的商品分享界面820。

如图8B所示,该商品分享界面中包括有分享卡片821、新浪微博按钮、微信按钮、朋友圈按钮、畅连按钮、复制链接按钮822、更多按钮和取消按钮。该分享卡片821用于显示可分享的多个按钮和取消按钮。复制链接按钮822可用于将视频链接复制到剪贴板。其余按钮与图7B所示的按钮功能相同,此处不再赘述。用户B点击复制链接按钮822,并选择将点击粘贴至消息输入框控件823中,将商品链接发送给用户A。

如图8C所示,用户A收到第二商品链接后,在第一商品的浏览界面830上显示用户B的头像或昵称,及其发来的第二商品链接831。用户点击第二商品链接831,进入图8D所示的第二商品浏览界面840,界面呈现与图8A所示相同的商品图片811、商品名称812和商品价格813等。

下面结合分享商品的应用场景,介绍具体的操作时序图。

请参见图9,图9示出了一种商品分享的操作时序图。其中,该方法流程图中涉及的设备包括有设备A和与设备A交互的设备B。其中,设备A与设备B之间通过图1所示的通信网络进行交互,设备A与设备B可以示例性的参考上述图2C-2D所示的软件系统架构。

如图9所示,该方法包括:

S901、协同分享模式分享商品链接。

示例性的,所述待分享的内容为购物应用内的商品对象。设备A可以接收用户分享所述内容的输入操作(例如单击分享按钮),响应于所述输入操作,设备A显示内容分享界面,其中,该内容分享界面可以参考上述图7B所示的商品分享界面720。该内容分享界面可以显示第二应用的图标和名称。例如,如上述图7B所示,第二应用图标显示为畅连按钮725,第二应用的名称可以为畅连。

在一种可能的实现方式中,也可以点击图7B所示的商品分享界面720内的复制链接按钮726,将商品链接复制到剪贴板。然后,打开畅连应用,选择用户B,将商品链接粘贴发送给用户A。

所述购物应用程序通过集成的开放SDK,调用协同分享API。通过调用协同分享API,购物应用将填充好的目标场景(targetScene)、分享内容信息(HwCaasShareInfo)、协同分享通道(HwParallelShareChannel)发送给第二应用。

S902、发送商品链接信息。

设备A内第二应用的MessageService组件收到购物应用的分享调用后,解析消息内容,通过mParallelShare字段判断是否为协同分享模式。同时,将分享内容信息(HwCaasShareInfo)中的其他消息内容封装成卡片,在MessageUI模块的聊天窗中展示卡片。第二应用通过消息基础组件将消息发送给设备B。设备B收到上述消息后,可以在第二应用中显示卡片,例如,图7D所示的商品链接卡片743。

S903、创建消息通道。

如果设备A的第二应用判断为协同分享模式,则创建设备A内的第二应用与购物应用的跨进程消息通道。

S904、消息通道创建成功。

设备A内的第二应用与购物应用的跨进程消息通道建立完成之后,第二应用通过消息基础组件向设备B的第二应用发送通道建立消息。

S905、商品链接信息显示协同购物入口。

设备B的第二应用收到通道建立消息,MessageUI模块刷新消息卡片,显示协同分享入口。例如,图7E所示的协同购物控件751。

S906、用户选择协同购物。

示例性的,用户点击协同购物入口,设备B的MessageUI模块通过mAppUrl信息自动打开对应的购物应用。

S907、获取用户B在第二应用内的用户名、头像等信息。

示例性的,购物应用启动后,解析出mParallelShare和mExtraInfo。

首先判断是否为协同分享模式,如果是,则通过开放SDK的API设置对象HwParallelShareChannel到第二应用,第二应用通过HwParallelShareChannel对象建立第二应用和购物应用的消息通道,并记录与聊天窗threadID对应关系。

其次,解析mExtraInfo中的信息,该信息由设备A的购物应用填充、设备B的购物应用解析,该信息的格式内容由购物应用定义。

S908、通过消息通道发送进入房间的消息。

设备B通过协同分享通道(HwParallelShareChannel)对象的sendAppMessage方法发送进入房间的消息。消息内容mMessageInfo格式由购物应用自定义,可以定义如下格式作为参考:JoinRoom:1。所述消息发送到第二应用的MessageService组件,MessageService组件判断是应用消息(AppMessage),通过消息基础组件转发给设备A。设备A的第二应用收到消息后判断是AppMessage,通过协同分享通道(HwParallelShareChannel)的onAppMessageReceive转发给对应的购物应用;

S909、提示用户B进入。

设备A的购物应用收到消息后,解析mMessageInfo为进入房间消息,刷新商品浏览界面,提醒xx用户进入协同购物。例如,图7G中所示的消息通知771。

S910、用户将商品加入购物车。

S911、封装购物车信息成固定格式消息。

S912、通过消息通道发送该消息

设备A的第二应用收到消息后,判断是AppMessage,将消息通过消息基础组件转发给设备B,设备B的第二应用收到消息后判断是AppMessage,通过HwParallelShareChannel对象的onAppMessageReceive方法转发给对应的购物应用。

S913、解析消息成购物车信息,并刷新购物车。

设备B的购物应用收到后解析AppMessage,并刷新购物车。

上述购物分享的实施例通过第二应用提供API接口,支持购物应用使用该消息通道构建自己的即时通信能力。通过该即时消息通道,购物应用允许用户发送聊天信息,实现自身的即时聊天功能。购物应用也可以通过该消息通道发送自己的业务信息,比如购物车信息。将业务信息按照一定的格式封装后通过消息通道发送,并由接收方的购物应用接收并解析成业务信息。从而实现了分享购物商品连接后,可以通过后台消息通道发送接收好友已经加入购物车的商品,共享同一个购物车,实现一起购物、拼单的场景。

以第一应用为地图应用,第二应用为畅连应用,在地图应用中通过畅连应用分享导航信息为例,介绍本申请相关技术中内容分享的过程。

用户A、用户B、和用户C组队出行,前往目的地“八达岭长城”。用户A在手机A畅连应用的群内分享地图应用提供的导航信息。

示例性地,图10A示出了手机A显示的畅连应用的群聊界面1001。用户通过畅连应用可以与好友分享文字、图片以及贴图,并支持分组聊天和语音、视讯对讲功能、广播(一对多)消息、照片/视讯共享、位置共享、消息交流联系、游戏等服务。

该畅连应用的群聊界面1001中包括群组名称1002、用户A头像按钮1003、用户B头像按钮1004、用户C头像按钮1005、导航信息卡片1006、通话按钮、畅连按钮、更多按钮、语音输入按钮、地图应用链接1007、和协同导航入口1008。可选地,界面1001还可以包括HiCar导航入口1009。群组名称1002可用于标识群组的名称,例如图10A所示的“相亲相爱一家人”。用户A头像按钮1003、用户B头像按钮1004、用户C头像按钮1005可用于触发打开用户信息、标示聊天信息的来源。导航信息卡片1006可用于显示用户在群组内分享的导航信息,该导航信息包括导航目的地、导航路线图以及导航软件等。地图应用链接1007可用于触发开启地图应用以便用户查看详细的导航信息。协同导航入口1008可用于群组内用户选择协同导航模式,例如图10A所示的“一起走”图标。HiCar导航为华为开发的用于车载导航的地图类应用。HiCar导航入口1009可用于触发在车载显示屏上显示导航界面。

可选地,用户A点击手机A的地图应用链接1007,接收用户针对图10A中地图应用链接1007的输入操作(例如单击),响应于该输入操作,手机A可以显示如图10B所示的地图导航界面1010。

地图导航界面1010中包括起始车速1011、终点1012、导航路线图1013、景区介绍按钮1014、退出按钮1015、导航里程时间信息1016、退出全览按钮1017以及更多按钮1018。该起始车速1011可用于表示在起始地点时的车速为0km/h,用户准备驾驶车辆出发。终点1012可用于显示导航目的地,例如图10A所示可以以“终”标识。导航路线图1013可用于指示从起始地点至目的地的完整路线,并在地图上按照比例尺等比显示。景区介绍按钮1014可用于触发观看介绍目的地为景区的视频。退出按钮1015可用于触发关闭本次导航。导航里程时间信息1016可用于显示本次导航剩余里程、预计行驶时间、抵达目的地时间等。退出全览按钮1017可用于切换地图显示模式,由当前显示导航完整路线图切换为其他地图显示模式。更多按钮1018可用于触发打开更多与导航相关的功能。

如果用户B点击手机B畅连应用内的“一起走”图标,手机B可以显示如图10C所示的地图导航界面1030。相应地,用户A、用户C点击各自手机畅连应用内的“一起走”图标,手机A/C也可以显示类似图10C所示的地图导航界面。

地图导航界面1030相对于图10B的导航界面,增加了手机A的位置信息1031、手机B的位置信息1032、手机C的位置信息1033。每个设备的位置信息可显示用户的头像或昵称,以及当前所处的位置。例如图10C所示,手机C的位置信息1033指示出用户C在导航至八达岭长城景区的路线图上所处的位置,并显示用户C的头像标识。地图导航界面1030还显示语音输入消息控件1035、文字输入消息控件1036和畅连按钮1037。用户可以通过语音输入消息控件1035输入语音消息,如用户B输入语音消息“前方有个服务区,到那儿休息一下。”。用户A在手机A显示的导航界面上,点击对应的文字输入消息控件,输入文字消息“好哒”。用户C在手机C显示的导航界面上,点击对应的语音输入消息控件,输入语音消息“ok”。可选地,用户A、用户B和用户C均在开车中,也可以点击畅连按钮开启语音通话,进行实时语音通话。

分享导航信息的设备内部实现可以是,手机A的地图应用通过畅连应用提供的协同分享API,给群组内用户分享导航信息,选择协同分享模式,并在mExtraInfo中携带当前导航的目的地、路线图等信息。手机A的畅连应用收到上述导航信息后建立到地图应用的消息通道。手机B的用户选择一起去,会启动手机B的地图应用,同时建立地图应用到畅连应用的消息通道。手机B的地图应用启动后,解析mExtraInfo中的导航信息,开始导航。同时,手机B通过消息通道给手机A实时发送位置信息(sendAppMessage)。手机A收到手机B/C的位置信息(onAppMessageReceive),绘制手机B/C用户的头像和位置,实时刷新地图。同时,手机A通过消息通道实时发送位置信息给手机B/C。

在一些实施例中,如果手机B没有安装地图应用,可通过UI界面提示用户,是否允许畅连应用获取位置并同步位置给其他用户,获取用户同意后,可由畅连应用获取当前位置,发送给对方,并提供地图UI实时刷新位置。

示例性的,如图10D所示,手机B显示畅连应用的群聊界面1040。接收用户针对图10D中协同导航入口1008的输入操作(例如单击),响应于该输入操作,手机B的畅连应用未能找到所述地图应用,将弹出如图10E所示的提示卡片1041。提示卡片1041包括提示信息“未安装百度地图应用,请选择”、确定按钮1042、取消按钮1043、控件1044和控件1045。控件1044可用于显示下载百度地图的选项,用户选择该选项后点击确定按钮1042将进入下载百度地图的界面。控件1045可用于显示在小程序中打开百度地图,用户选择该选项后点击确定按钮1042将开启百度地图小程序。

用户点击取消按钮1043,则界面上显示提示卡片1051。提示卡片1051包括有提醒信息“是否允许畅连应用获取当前位置信息并同步给其他用户?”、按钮1052和按钮1053。按钮1052可用于授权畅连应用调用手机B的GPS地理位置定位接口,并且将获取的地理位置信息发送给其他用户,例如图10E中标识的“是”。反之,按钮1053可用于不允许畅连应用调用手机B的GPS地理位置定位接口以及给其他用户发送地理位置信息,例如图10E中标识的“否”。用户点击按钮1052,如图10E的“是”,则手机B的畅连应用调用GPS地理位置定位接口,获取手机当前地理位置信息,并自动将给信息发送给手机A/C的畅连应用,手机A/C的畅连应用将收到的该信息提供给地图应用,以供地图导航界面刷新用户B的实时位置,将位置显示为如图10C所示的手机B的位置信息1032。

在一种可能的实现方式中,由于手机B并未开启地图应用进行导航,因此手机B仍然显示畅连应用界面。在手机A和手机C使用地图应用进行导航时,用户A和用户C语音输入消息控件、文字输入消息控件输入的消息可以显示在手机B的畅连应用界面内。如图10G所示,用户A输入“前方服务区休息”,用户B能够在手机B的畅连应用界面1060内查看对应于用户A头像1061的文字消息“前方服务区休息”。

上述协同导航的实施例通过第二应用提供API接口,支持地图应用使用该消息通道构建自身的即时通信能力。通过一次分享实现多个好友的协同导航功能,分享导航信息后,可以与其他用户一起导航,共享导航信息并实时同步多个用户的位置。同时,如果在分享导航信息时直接发起语音呼叫,即调用协同分享API时在ShareInfo中指定启动语音通话,则可以同时启动语音呼叫和悬浮用户界面,并将通话标志发送到对方,对方解析该标志后,同步显示悬浮来电UI。以上设计可实现边导航边语音。

以上分享导航信息的操作时序图与商品分享的操作时序图类似,将设备的地理位置信息封装为固定格式消息发送给对端设备即可。

下面介绍本发明实施例提供的一种即时通信方法的流程。

参见图11,图11示出了一种即时通信方法流程图。其中,该方法应用于具有显示屏的第一电子设备和第二电子设备。第一电子设备和第二电子设备可以为图2A所示的通信系统200中的电子设备,通过通信网络进行互联。第一电子设备和第二电子设备的硬件结构可以为图2B所示的电子设备100,软件系统架构可以为图2C或图2D所示的设备A和设备B的软件结构。

如图11所示,该方法包括:

1101、所述第一电子设备显示第一应用的第一界面,所述第一界面包括第一选项;

示例性的,第一电子设备为手机A。如图3A所示,第一应用为视频应用,第一界面为手机A显示的视频应用的用户界面310,第一选项为分享按钮314。

示例性的,如图7A所示,第一应用为购物应用,第一界面为手机A显示购物应用的用户界面710,第一选项为分享按钮714。

1102、响应于对所述第一选项的操作,所述第一电子设备通过第二应用向所述第二电子设备发送第一内容的链接,其中,所述第一内容为所述第一应用呈现的内容;

示例性的,如图3B-3C所示,第二应用为畅连应用,第一内容为视频应用呈现的视频内容311,手机A通过畅连应用向用户B发送视频内容311的链接。

示例性的,如图7B-7C所示,第二应用为畅连应用,第一内容为购物应用提供的商品图片711所示的商品,手机A通过畅连应用向用户B发送该商品的链接。

在一种可能的实现方式中,响应于对所述第一选项的操作,所述第一电子设备通过第二应用向所述第二电子设备发送第一内容的链接包括:响应于对所述第一选项的操作,所述第一电子设备打开所述第二应用的第四界面,所述第四界面包括第二用户标识,所述第二用户标识用于标识操作所述第二电子设备的用户;响应于对所述第二用户标识的操作,所述第一电子设备向所述第二电子设备发送第一内容的链接。示例性的,第四界面为手机A畅连应用的界面332,第二用户标识为用户B头像按钮333和用户B的昵称按钮334,点击用户B头像按钮333或用户B的昵称按钮334,手机A向手机B发送视频内容311的链接。

1103、所述第二电子设备显示第三应用的第一对话界面,所述第一对话界面包括第一用户标识和第二选项,所述第二选项与所述第一内容的链接关联,所述第一用户标识用于标识操作所述第一电子设备的用户,所述第三应用对应于所述第二应用;

示例性的,第二电子设备为手机B。如图3D所示,第三应用为畅连应用,第一对话界面为手机A显示的视频应用的畅连聊天界面340。第一用户标识为用户A的头像按钮342,用户A即操作手机A的用户。第二选项为播放按钮348,该播放按钮用于播放视频链接卡片343提供的视频内容311。

其中,第三应用和第二应用是两个电子设备上安装的同一个应用,例如,第三应用是手机B上安装的畅连应用,第二应用为手机A上安装的畅连应用,手机B安装的畅连应用和手机A上安装的畅连应用可能存在版本上的不同。或者,第一电子设备为手机,第二电子设备为平板,第三应用和第二应用是同一应用针对手机或平板开放的不同版本应用。

在一种可能的实现方式中,所述第二选项与所述第一内容的链接关联包括:所述第二选项是包括所述第一内容链接的卡片或控件。示例性的,如图3D所示的视频链接卡片343或播放按钮348,或者如图3E-1所示的控件351。又如,图7E所示的商品链接卡片753,或者图10A所示的导航信息卡片1006或协同导航入口1008。

1104、响应于对所述第二选项的操作,所述第二电子设备显示第四应用的第二界面,所述第二界面包括所述第一内容和第三选项,所述第四应用对应于所述第一应用;

示例性的,如图3F所示,第四应用为视频应用,第二界面为手机B显示视频应用的视频播放界面360,第一内容为视频应用提供的视频内容311,第三选项为畅连按钮364、语音输入按钮367、消息输入框控件365中任何一项、两项或三项。

示例性的,第二电子设备为手机B或手机C。如图10C所示,第四应用为地图应用,第二界面为手机B或手机C显示的地图应用的地图导航界面1030,第一内容为地图应用提供的导航信息,第三选项为畅连按钮1037、语音输入消息控件1035、文字输入消息控件1036中任何一项、两项或三项。

其中,第四应用和第一应用是两个电子设备上安装的同一个应用,例如,第四应用是手机B上安装的华为视频应用,第一应用为手机A上安装的华为视频应用,手机B安装的华为视频应用和手机A上安装的华为视频应用可能存在版本上的不同。或者,第一电子设备为手机,第二电子设备为平板,第四应用和第一应用是同一应用针对手机或平板开放的不同版本应用。

在一种可能的实现方式中,所述第一应用为视频应用或音频应用,所述第一内容为视频或音频;在响应于对所述第一选项的操作,所述第一电子设备通过所述第二应用向所述第二电子设备发送所述第一内容的链接时,所述视频或音频的播放时间为第一时间;在响应于对所述第二选项的操作,所述第二电子设备显示所述第四应用的所述第二界面时,所述视频或音频的播放时间为第二时间;所述第一时间与所述第二时间相同。示例性的,视频应用为华为视频。如图3B所示,手机A通过畅连应用向手机B发送视频内容311时视频内容311播放至20分00秒(即第一时间)。参见图3F,手机B显示华为视频的视频播放界面360时,视频内容也播放至20分00秒(即第二时间,第二时间与第一时间相同)。

在一种可能的实现方式中,所述第一电子设备显示所述第一应用的第五界面,所述第五界面包括所述第一内容,所述第一内容的播放时间为第三时间,其中,所述第三时间与所述第一时间不同;所述第二电子设备显示所述第四应用的第六界面,所述第六界面包括所述第一内容,所述第一内容的播放时间为第四时间,其中,所述第四时间与所述第三时间相同。示例性的,视频应用为华为视频。如图3L所示,手机A显示华为视频应用的视频播放界面394,此时视频已由用户快退至18分30秒(即第三时间,第三时间与第一时间不同)。参见图3M,手机B显示华为视频的视频播放界面时,视频内容也已退至18分30秒(即第四时间,第四时间与第三时间相同)。

在一种可能的实现方式中,所述第一应用为购物应用,所述第一内容为商品,所述第二界面还包括第四选项;响应于对所述第四选项的操作,所述第二电子设备在所述第四应用中显示第一购物车和第二购物车,其中,所述第一购物车对应于所述第一用户,所述第二购物车对应于第二用户,所述第一用户与所述第二用户不同。示例性地,第一应用为购物应用,例如华为商城,第一内容为商品,例如华为手环。用户A和用户B分别将图7A所示的商品加入购物车后,手机A显示如图7H所示的购物车界面,如图7H所示,手机A中购物应用显示的购物车包括全部购物车界面380、我的购物车界面381和B的购物车界面382。我的购物车(即第一购物车)对应于用户A,B的购物车(即第二购物车)对应于用户B。

在一种可能的实现方式中,响应于对所述第四选项的操作,所述第二电子设备在所述第四应用中显示第一购物车和第二购物车包括:所述第二电子设备在所述第四应用中还显示第三购物车,所述第三购物车内的商品为所述第一购物车内商品和所述第二购物车内商品的总和。示例性地,如图7I所示,全部购物车(即第三购物车)内商品为用户A的购物车(即第一购物车)商品和用户B的购物车(即第二购物车)商品的总和。

在一种可能的实现方式中,所述第一应用为地图应用,所述第一内容为导航信息;所述第四应用的所述第二界面还包括所述第一用户标识和第二用户标识,所述第二用户标识用于标识操作所述第二电子设备的用户,所述第一用户标识还用于指示所述第一电子设备的地理位置,所述第二用户标识还用于指示所述第二电子设备的地理位置。示例性的,如图10C所示的地图导航界面1030,包括用户A的头像和用户B的头像,分别指示手机A的位置信息1031、手机B的位置信息1032。

1105、响应于对所述第三选项的操作,所述第二电子设备通过所述第三应用发送第一消息给所述第一电子设备;

示例性的,如图3I所示,用户对消息输入框控件365的点击操作,在图3J所示的消息输入界面390输入消息“回放看看进球”,点击发送,手机B通过畅连应用将该消息(即第一消息)发送给手机A。参见图3K,手机A的视频播放界面393上显示该消息。

在一种可能的实现方式中,所述第一消息为文字消息、语音消息、语音通话请求或视频通话请求。示例性的,如图4E所示,手机A收到的第一消息为语音通话请求。

1106、所述第一电子设备显示所述第一应用的第三界面,所述第三界面包括提示信息,所述提示信息用于提示第二用户已进入;

示例性的,手机A显示视频应用的视频播放界面370,如图3G所示,界面上包括“用户B已进入放映厅”的消息提示371。

在一种可能的实现方式中,所述第三界面还包括第二用户标识和所述第一消息,所述第二用户标识用于标识所述第二用户,所述第二用户是操作所述第二电子设备的用户。示例性的,手机A显示视频应用的语音通话界面440,如图4E所示,界面上包括用户B的头像441,以及手机B发送的语音通话请求。

通过本申请提供一种即时通信方法,第一电子设备通过第二应用将第一应用提供的第一内容链接发送给第二电子设备,第二电子设备能够在与第二应用对应的第三应用中显示与第一内容链接关联的第二选项,然后,响应于对第二选项的操作,第二电子设备能够在与第一应用对应的第四应用内显示第一内容和第三选项。接着,响应于对第三选项的操作,第二电子设备通过第三应用发送第一消息给第一电子设备。这样,用户可以在接收到分享内容之后,能够在显示第一内容的界面与分享内容的用户进行即时通信,而无需再返回即时通信应用的界面,给用户提供了方便。

可以理解的是,为了实现上述功能,电子设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本发明实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

本发明实施例公开了一种电子设备,包括处理器,以及与处理器相连的存储器、输入设备和输出设备。其中,输入设备和输出设备可集成为一个设备,例如,可将触摸传感器作为输入设备,将显示屏作为输出设备,并将触摸传感器和显示屏集成为触摸屏。

此时,如图12所示,上述电子设备可以包括:触摸屏1201,所述触摸屏1201包括触摸传感器1206和显示屏1207;一个或多个处理器1202;一个或多个摄像头1208;存储器1203;一个或多个应用程序(未示出);以及一个或多个计算机程序1204,上述各器件可以通过一个或多个通信总线1205连接。其中该一个或多个计算机程序1204被存储在上述存储器1203中并被配置为被该一个或多个处理器1202执行,该一个或多个计算机程序1204包括指令,上述指令可以用于执行上述实施例中的各个步骤。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应实体器件的功能描述,在此不再赘述。

示例性的,上述处理器1202具体可以为图1所示的处理器110,上述存储器1203具体可以为图1所示的内部存储器116和/或外部存储器120,上述摄像头1208具体可以为图2B所示的摄像头193,上述显示屏1207具体可以为图1所示的显示屏194,上述触摸传感器1206具体可以为图1所示的传感器模块180中的触摸传感器180K,本发明实施例对此不做任何限制。

本发明实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,该电子设备执行上述相关方法步骤实现上述实施例中的方法。

本发明实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关方法步骤,以实现上述实施例中的方法。

另外,本发明的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的拍摄方法。

其中,本发明实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。

通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上内容,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 家电设备的即时通信方法、家电设备及存储介质
  • 一种基于语音识别的即时通信方法和即时通信系统
技术分类

06120112160708