设备协作方法、装置、系统、电子设备和存储介质
文献发布时间:2023-06-19 09:44:49
技术领域
本申请涉及电子技术领域,尤其涉及一种设备协作方法、装置、系统、电子设备和存储介质。
背景技术
随着信息设备数量的增长,在一些应用场景下用户需要组合不同设备的服务来共同完成执行一个任务,以提高任务执行效率。比如,用户在使用手机听音乐的过程中,为了提高音频播放的效果,可以通过智能音箱来播放声音。
目前,通过Miracast和DLNA投屏技术可以将多媒体数据(画面输出和音频输出)投放到某一个多媒体外设,比如投放到电视,用电视屏幕播放画面,电视音箱播放声音;或者投放到智能音箱,用智能音箱播放声音。但是Miracast和DLNA投屏技术只能实现单个品类设备的投放,不能做到利用多设备的服务协同工作。
发明内容
本申请实施例提供一种设备协作方法、装置、系统、电子设备和存储介质,可以同时调用多个不同品类设备的功能,达到多设备的协同工作。
第一方面,本申请实施例提供一种设备协同方法,所述方法包括:
第一设备显示第一界面,所述第一界面用于显示与目标应用程序关联的功能列表,所述目标应用程序运行于所述第一设备,所述功能列表包括所述目标应用程序的分离操控选项;
响应于针对所述分离操控选项的第一选择操作,所述第一设备显示第二界面,所述第二界面用于显示与所述第一设备关联的第一关联设备列表;
响应于针对所述第一关联设备列表中至少一个关联设备的第二选择操作,以使得所述第一设备的所述目标应用程序由所述至少一个关联设备操控。
第二方面,本申请实施例提供一种设备协同装置,所述装置包括:
显示单元,用于显示第一界面,所述第一界面用于显示与目标应用程序关联的功能列表,所述目标应用程序运行于所述第一设备,所述功能列表包括所述目标应用程序的分离操控选项;
所述显示单元,还用于响应于针对所述分离操控选项的第一选择操作,显示第二界面,所述第二界面用于显示与所述第一设备关联的第一关联设备列表;
处理单元,用于响应于针对所述第一关联设备列表中至少一个关联设备的第二选择操作,以使得所述第一设备的所述目标应用程序由所述至少一个关联设备操控。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,在本申请实施例中,第一设备显示第一界面,所述第一界面用于显示与目标应用程序关联的功能列表,所述目标应用程序运行于所述第一设备,所述功能列表包括所述目标应用程序的分离操控选项;响应于针对所述分离操控选项的第一选择操作,所述第一设备显示第二界面,所述第二界面用于显示与所述第一设备关联的第一关联设备列表;响应于针对所述第一关联设备列表中至少一个关联设备的第二选择操作,以使得所述第一设备的所述目标应用程序由所述至少一个关联设备操控。该方法可以从多个设备中选取至少一个关联设备来实现用户在第一设备上选择的功能,使得第一设备可以融合多个关联设备提供的功能,同时调用多个不同品类设备的功能,达到多设备的协同工作。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种电子设备的结构示意图;
图2是本申请实施例提供的一种电子设备的软件结构示意图;
图3a是本申请实施例提供的一种设备协同系统的结构示意图;
图3b是本申请实施例提供的另一种设备协同系统的结构示意图;
图4是本申请实施例提供的一种设备协同方法的流程示意图;
图5a是本申请实施例提供的一种的第一界面显示的示意图;
图5b是本申请实施例提供的一种的第一界面显示的示意图;
图5c是本申请实施例提供的一种的第二界面显示的示意图;
图5d是本申请实施例提供的另一种的第二界面显示的示意图;
图5e是本申请实施例提供的另一种的第二界面显示的示意图;
图5f是本申请实施例提供的另一种的第二界面显示的示意图;
图6a是本申请实施例提供的一种的电子设备提供功能的结构示意图;
图6b是本申请实施例提供的一种的多设备协同的结构示意图;
图7a是本申请实施例提供的另一种的设备协同系统的结构示意图;
图7b是本申请实施例提供的另一种的设备协同系统的结构示意图;
图8是本申请实施例提供的一种调用关联设备上的目标功能的流程示意图;
图9是本申请实施例提供的一种设备协同装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供的设备协作方法可以应用于手持设备、车载设备、可穿戴设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、投影设备、投影仪或者连接到无线调制解调器的其他设备,也可以是各种具体形式的用户设备(userequipment,UE)、终端设备(terminal device)、手机(smart phone)、智慧屏、智慧电视、智能手表、笔记本电脑、智能音响、摄像头、游戏手柄、鼠标、麦克风、站点(station,STA)、接入点(access point,AP)、移动台(mobile Station,MS)、个人数字助理(personal digitalassistant,PDA)、个人计算机(personal computer,PC)或者中继设备等终端设备或者服务器,本申请实施例对终端设备和服务器的具体类型不作任何限制。
例如,所述终端设备可以是WLAN中的站点(STAION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(WirelessLocal Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(set top box,STB)、用户驻地设备(customer premise equipment,CPE)和/或用于在无线装置上进行通信的其它设备以及下一代通信装置,例如,5G网络中的移动终端或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)网络中的移动终端等。
作为示例而非限定,当所述终端设备为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
示例性的,以笔记本电脑和手机这两种电子设备为例。当笔记本电脑和手机通过无线通信技术(如蓝牙、无线保真、紫蜂、近场通信等)或数据线(如USB数据线)连接,用户通过手机完游戏时,可以通过设备协作的方式调用笔记本电脑来显示手机的游戏画面;或者,用户在笔记本电脑上完游戏时,可以通过设备协作的方式调用手机来操控笔记本电脑上的游戏。
本申请实施例中进行设备协同的第一设备和关联设备之间可以直接连接,例如通过蓝牙、WiFi等实现两个电子设备之间的直接连接;或者,两个电子设备之间也可以通过分别与其他电子设备例如云端服务器连接从而实现间接连接。在设备协同的过程中,两个电子设备之间的连接可以在直接连接和间接连接之间进行切换,本申请实施例不作限定。
示例性的,图1示出了电子设备100的结构示意图。以电子设备是手机为例,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,USB接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及SIM卡接口195等。其中传感器模块180可以包括陀螺仪传感器180A,加速度传感器180B,气压传感器180C,磁传感器180D,环境光传感器180E,接近光传感器180G、指纹传感器180H,温度传感器180J,触摸传感器180K(当然,电子设备100还可以包括其它传感器,比如温度传感器,压力传感器、距离传感器、骨传导传感器等,图中未示出)。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
处理器110可以运行本申请实施例提供的投屏方法,以便于丰富投屏功能,提升投屏的灵活度,提升用户的体验。处理器110可以包括不同的器件,比如集成CPU和GPU时,CPU和GPU可以配合执行本申请实施例提供的投屏方法,比如投屏方法中部分算法由CPU执行,另一部分算法由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的正整数。显示屏194可用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graphical user interface,GUI)。例如,显示器194可以显示照片、视频、网页、或者文件等。再例如,显示器194可以显示图形用户界面。其中图形用户界面上包括状态栏、可隐藏的导航栏、时间和天气小组件(widget)、以及应用的图标,例如浏览器图标等。状态栏中包括运营商名称(例如中国移动)、移动网络(例如4G)、时间和剩余电量。导航栏中包括后退(back)键图标、主屏幕(home)键图标和前进键图标。此外,可以理解的是,在一些实施例中,状态栏中还可以包括蓝牙图标、Wi-Fi图标、外接设备图标等。还可以理解的是,在另一些实施例中,图形用户界面中还可以包括Dock栏,Dock栏中可以包括常用的应用图标等。当处理器检测到用户的手指(或触控笔等)针对某一应用图标的触摸事件后,响应于该触摸事件,打开与该应用图标对应的应用的用户界面,并在显示器194上显示该应用的用户界面。
在本申请实施例中,显示屏194可以是一个一体的柔性显示屏,也可以采用两个刚性屏以及位于两个刚性屏之间的一个柔性屏组成的拼接显示屏。当处理器110运行本申请实施例提供的投屏方法后,处理器110可以控制外接的音频输出设备切换输出的音频信号。
摄像头193(前置摄像头或者后置摄像头,或者一个摄像头既可作为前置摄像头,也可作为后置摄像头)用于捕获静态图像或视频。通常,摄像头193可以包括感光元件比如镜头组和图像传感器,其中,镜头组包括多个透镜(凸透镜或凹透镜),用于采集待拍摄物体反射的光信号,并将采集的光信号传递给图像传感器。图像传感器根据所述光信号生成待拍摄物体的原始图像。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序(比如相机应用,微信应用等)的代码等。存储数据区可存储电子设备100使用过程中所创建的数据(比如相机应用采集的图像、视频等)等。
内部存储器121还可以存储本申请实施例提供的投屏方法对应的一个或多个计算机程序。该一个或多个计算机程序被存储在上述存储器211中并被配置为被该一个或多个处理器110执行,该一个或多个计算机程序包括指令,该计算机程序可以包括帐号验证模块、优先级比较模块。其中,帐号验证模块,用于对局域网内的其它终端设备的系统认证帐号进行认证;优先级比较模块,可用于比较音频输出请求业务的优先级和音频输出设备当前输出业务的优先级。状态同步模块,可用于将终端设备当前接入的音频输出设备的设备状态同步至其它终端设备,或者将其它设备当前接入的音频输出设备的设备状态同步至本地。当内部存储器121中存储的投屏方法的代码被处理器110运行时,处理器110可以控制发送端进行投屏数据处理。
此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
当然,本申请实施例提供的投屏方法的代码还可以存储在外部存储器中。这种情况下,处理器110可以通过外部存储器接口120运行存储在外部存储器中的投屏方法的代码,处理器110可以控制发送端进行投屏数据处理。
陀螺仪传感器180A,可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180A确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。即陀螺仪传感器180A可以用于检测电子设备100当前的运动状态,比如抖动还是静止。
当本申请实施例中的显示屏为可折叠屏时,陀螺仪传感器180A可用于检测作用于显示屏194上的折叠或者展开操作。陀螺仪传感器180A可以将检测到的折叠操作或者展开操作作为事件上报给处理器110,以确定显示屏194的折叠状态或展开状态。
加速度传感器180B可检测电子设备100在各个方向上(一般为三轴)加速度的大小。即陀螺仪传感器180A可以用于检测电子设备100当前的运动状态,比如抖动还是静止。当本申请实施例中的显示屏为可折叠屏时,加速度传感器180B可用于检测作用于显示屏194上的折叠或者展开操作。加速度传感器180B可以将检测到的折叠操作或者展开操作作为事件上报给处理器110,以确定显示屏194的折叠状态或展开状态。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机通过发光二极管向外发射红外光。手机使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机附近有物体。当检测到不充分的反射光时,手机可以确定手机附近没有物体。当本申请实施例中的显示屏为可叠屏时,接近光传感器180G可以设置在可折叠的显示屏194的第一屏上,接近光传感器180G可根据红外信号的光程差来检测第一屏与第二屏的折叠角度或者展开角度的大小。
陀螺仪传感器180A(或加速度传感器180B)可以将检测到的运动状态信息(比如角速度)发送给处理器110。处理器110基于运动状态信息确定当前是手持状态还是脚架状态(比如,角速度不为0时,说明电子设备100处于手持状态)。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
示例性的,电子设备100的显示屏194显示主界面,主界面中包括多个应用(比如相机应用、微信应用等)的图标。用户通过触摸传感器180K点击主界面中相机应用的图标,触发处理器110启动相机应用,打开摄像头193。显示屏194显示相机应用的界面,例如取景界面。
电子设备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的至少部分模块被设置在同一个器件中。在本申请实施例中,移动通信模块150还可以用于与其它终端设备进行信息交互,即向其它终端设备发送投屏相关数据,或者移动通信模块150可用于接收投屏请求,并将接收的投屏请求封装成指定格式的消息。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器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转为电磁波辐射出去。本申请实施例中,无线通信模块160,用于与接收端建立连接,通过接收端显示投屏内容。或者无线通信模块160可以用于接入接入点设备,向其它终端设备发送投屏请求对应的消息,或者接收来自其它终端设备发送的音频输出请求对应的消息。
另外,电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。电子设备100可以接收按键190输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。电子设备100可以利用马达191产生振动提示(比如来电振动提示)。电子设备100中的指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。电子设备100中的SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。
应理解,在实际应用中,电子设备100可以包括比图1所示的更多或更少的部件,本申请实施例不作限定。图示电子设备100仅是一个范例,并且电子设备100可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
示例性的,图2示出了电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
第二部分,本申请实施例所公开的示例应用场景介绍如下。
示例性地,本申请实施例的技术方案可以应用于如图3a所示的设备协作系统30。其中,设备协作系统30可以包括第一设备310和多个关联设备320。该多个关联设备320可以包括电子设备320A、电子设备320B和电子设备320C。同时,第一设备310与多个关联设备320之间可以通过无线网络或有线数据相互通信连接。
具体的,第一设备310与多个关联设备320可以为同一个用户账号下的设备。例如,当用户使用同一个用户账号登录手机、台式电脑、智慧屏、笔记本电脑、中继设备和智能手表时,该第一设备310和/或关联设备320可以为手机、台式电脑、智慧屏、笔记本电脑、中继设备和智能手表,并且该手机、台式电脑、智慧屏、笔记本电脑、中继设备和智能手表之间可以通过无线网络互相通信。
具体的,该第一设备310与多个关联设备320可以通过中继设备(如路由器)连接到同一个WLAN网络中。例如,当用户将手机、台式电脑、智慧屏、笔记本电脑和智能手表接入由中继设备提供的Wi-Fi网络时,第一设备310与关联设备320可以包括该手机、台式电脑、智慧屏、笔记本电脑、中继设备和智能手表,并且该手机、台式电脑、智慧屏、笔记本电脑、中继设备和智能手表形成一个WLAN网络,从而WLAN网络内的各个设备之间可以通过中继设备实现相互通信。
进一步的,第一设备可以调用至少一个关联设备来显示其当前运行应用程序的画面,同时第一设备也可以调用至少一个关联设备来操作其当前的应用程序。例如,第一设备310调用电子设备320A显示画面,同时第一设备310调用电子设备320B操作当前应用程序以及调用电子设备320C播放声音。
应理解,设备协同系统30还可以包括其他数量的电子设备,在此不作具体限定。
示例性地,本申请实施例的技术方案可以应用于如图3b所示的设备协同系统30。其中,设备协同系统30可以包括第一设备310、多个关联设备320和云端设备330。该第一设备310和多个关联设备320可以为同一个用户账号下的设备,云端设备330用于管理关联同一用户账号下的设备,以及存储第一设备310和多个关联设备320的功能列表和授权信息。第一设备310在请求设备协同时,可以从云端设备获取满足第一设备功能需求的多个关联设备320。
第三部分,本申请实施例所公开的权要保护范围介绍如下。
请参阅图4,图4是本申请实施例提供了一种设备协同方法的流程示意图,如图4所示,本设备协同方法包括以下操作。
S410、第一设备显示第一界面,所述第一界面用于显示与目标应用程序关联的功能列表,所述目标应用程序运行于所述第一设备,所述功能列表包括所述目标应用程序的分离操控选项。
在本申请实施例中,当用户在第一设备上打开一个应用时,用户可以通过预先设定的任意操作启动相关的协同流程。所述预先设定的任意操作可以由用户设定,也可以由第一设备的系统设定,本申请实施例对此不做限定。例如,在手机上,可以设置通过长按当前运行的应用的屏幕唤起协同流程;在电脑上,可以设置通过在运行的应用上点击鼠标右键来唤起协同流程。协同流程唤起后,系统会在当前界面上显示第一窗口,该第一窗口的内容和用户、当前应用程序以及第一设备相关。
可选的,所述功能列表还包括分离画面选项和/或分离声音选项。
可以理解的是,每个设备获取服务列表的方式在不同的设备上会有不同的实现,有些会和操作系统的机制有些耦合,获取服务列表和上报服务列表的时机在不同的设备上可能会有所不同。
其中,针对不同的设备和目标应用程序,目标应用程序中的功能列表中包括的功能不同。用户所使用的第一设备在启动协同流程后,可以确定目标应用程序下需要进行协同的功能列表,该功能列表可以包括分离控制选项、分离画面选项、分离声音选项。比如,当前目标应用程序为游戏类应用程序,该功能列表可以包括分离控制选项、分离画面选项、分离声音选项。当前目标应用程序为相册时,功能列表可以包括分离控制选项和分离画面选项。当前目标应用程序为语音通话时,该功能列表可以包括分离控制选项、分离声音选项。
进一步地,针对目标应用程序的实现功能,功能列表还可以包括分离定位选项、分离支付选项、分离搜索选项等等。
在实际操作中,应用程序可以实现多种任务,可能实现每个任务所需的功能列表也会不一样,例如,目标应用程序为社交软件时,当用户利用社交软件进行视频通话时,此时需要的目标应用程序的功能列表包括分离控制选项、分离画面选项、分离声音选项;当用户利用社交软件进行语音通话时,此时需要的目标应用程序的功能列表包括分离控制选项和分离声音选项。因此,确定当前目标应用程序的功能列表的方式可以包括但不限于:用户所使用的第一设备启动某个APP,用户所使用的第一设备在某个APP中执行某项任务,在使用第一设备执行某个任务的过程中,用户通过设定的方式输入触发指令等。
示例性地,用户唤起协同流程的方式还可以包括其他的触发方式,例如,近场通信(Near Field Communication,NFC)、超宽带(Ultra Wide Band,UWB)等,以NFC为例,当用户在手机上玩游戏时,用户可以通过碰触电视机,可以将该电视机确定为满足手机协同需求的关联设备;用户再碰触智能音箱,可以将该智能音箱确定为满足手机协同需求的关联设备;用户再碰触电脑,可以将该电脑或电脑上携带的设备确定为满足手机协同需求的关联设备。
示例性地,用户唤起协同流程的方式还可以包括非接触式的特定手势来触发。第一设备还可检测其附近的非接触式手势操作,并在该非接触式手势操作符合预设的第一设备检测信息生成条件时触发显示所述第一界面,进而根据用户的选择确定第一设备需要协助的功能和满足协助功能的至少一个关联设备。用户只需要在第一设备附近进行非接触式的手势操作来启动协助操作流程,不需要接触第一设备和关联设备,操作方便及人性化。
值得注意的是,本发明的第一设备和关联设备只是从功能上进行分类。在实际应用中,设备协作系统中的每个设备都可具有第一设备和关联设备的功能,在进行协作响应时,可根据具体情况选择作为第一设备还是作为关联设备。
需要说明的是,第一设备控制多个关联设备进行协作处理的同时,其自身还可以参与协作处理。具体而言,至少一个关联设备和第一设备根据各自的协作响应信息进行协作处理。
示例性地,所述第一界面可以悬浮设置于当前界面的固定位置。如图5a所示,第一界面的左上角起始坐标位置1和右下角的坐标位置2可以由用户设定的,也可以由第一电子设备的系统设定,本申请对此不作限定。
示例性地,第一界面的显示位置还可以根据第一设备的屏幕的显示方向来确定。例如,当第一设备的屏幕以横屏方向显示时,第一界面的显示位置可以如图5a所示;当第一设备的屏幕以竖屏方向显示时,第一界面的显示位置可以如图5b所示。
示例性地,第一界面的显示位置可以进行移动。当用户拖动或滑动所述第一界面时,第一界面可以根据用户的拖动方向或划定方向进行移动。
示例性地,第一界面的显示位置可以是随机的。第一界面的显示位置可以是用户上次显示的位置,也可以是系统随机确定的显示位置,也可以是用户触屏的位置,本申请实施例对此不做限定。
可选的,所述第一设备中的设备操作系统和/或应用程序提供所述功能列表。
在本申请实施例中,第一设备上可以包括由设备操作系统提供的应用程序,例如,语音通话、声音播放、位置定位等。第一设备上也可以包括用户应用自身的业务服务的应用程序,例如,用户下载的用于社交的应用程序、用于观看影视的应用程序、用于听音乐的应用程序等等。每个应用程序有自己提供的功能列表。由于功能列表中的功能可以分为第一设备上的设备操作系统提供的服务,以及应用自身的业务服务的应用程序,因此当用户在不同的应用程序上启动协同流程时,功能列表将随着用户名下的设备列表以及不同的应用程序的变化而变化。只有有效的功能才会显示在第一界面上。
其中,所述方法还包括:在所述第一设备启动时,所述第一设备扫描所述设备操作系统和/或所有所述应用程序,得到所述第一设备的服务列表,所述服务列表包括所述设备操作系统和/或所有所述应用程序提供的功能列表;所述第一设备向所述云端设备上报所述服务列表。
具体地,第一设备在启动时会扫描一遍第一设备上按照给定方式开发的应用程序,并将这些应用程序可以提供的功能以列表的形式记录下来。同时在应用程序进行安装或卸载时,第一设备可以对其进行监听,并把监听到的内容记录下来。当第一设备上的设备操作系统和/或所有所述应用程序中提供的功能发生变化时,向云端设备进行上报,以同步这些变化。
进一步地,云端设备管理下的设备也可以向云端设备上传自身的服务列表,云端设备可以按照设备、应用程序、功能的粒度存储各个设备上传的这些服务列表。当第一设备需要其他设备协同完成某一功能时,第一设备可以无需第三方应用的适配,直接通过云端设备查找能够实现第一设备需要协调的功能的设备,以系统应用的方式来适配设备的能力,使得第三方应用在开发阶段不需要做任何的适配就可以实现设备间的协同。
S420、响应于针对所述分离操控选项的第一选择操作,所述第一设备显示第二界面,所述第二界面用于显示与所述第一设备关联的第一关联设备列表。
其中,所述第一选择操作主要用于从功能列表中选出目标应用程序需要进行协同操作的功能。该第一选择操作可以是预先设定的任意操作,可以由用户设定的,也可以由第一电子设备的系统设定,本申请对此不作限定。根据第一设备的不同,以及第一设备显示方式的不同,第一选择操作可以包括多种不同的实现形式。例如,对于可以支持触屏的第一设备,如智能手机,该第一选择操作可以为触屏操作;对于用鼠标控制的第一设备,如台式电脑,该第一选择操作可以为点击操作;对于远程控制的第一设备,如智能电视机,该第一选择操作可以为选中操作。
其中,所述方法还包括:响应于针对所述分离画面选项的第三选择操作,所述第一设备显示所述第二界面,所述第二界面用于显示与所述第一设备关联的第二关联设备列表;和/或,响应于针对所述分离声音选项的第五选择操作,所述第一设备显示所述第二界面,所述第二界面用于显示与所述第一设备关联的第三关联设备列表。
在本申请,上述第一关联设备列表包括能够实现操作功能的关联设备列表;上述第二关联设备列表包括能够显示画面的关联设备列表;上述第三关联设备列表包括能够播放声音的关联设备列表。需要说明的是,在功能列表中包括分离画面选项和/或分离声音选项时,第一设备也可以响应于针对所述分离画面选项/或分离声音选项的第一选择操作,显示第二界面。
具体地,用户在第一设备上启动目标应用程序的协同流程后,在第一设备的当前界面上显示第一界面,该第一界面中展示目标应用程序可以进行协同的功能,包括分离控制选项、分离画面选项、分离声音选项中的至少一项。然后用户针对自身需要从功能列表中选择需要协同的功能,具体为用户通过第一选择操作选择需要协同的功能。
在一种可能的实现方式中,所述目标关联设备列表是从云端设备获取的,所述目标关联设备列表包括所述第一关联设备列表、所述第二关联设备列表和所述第三关联设备列表中的至少一项。
其中,第一设备和云端设备管理下的设备可以向云端设备上传自身的服务列表,云端设备可以按照设备、应用程序、功能的粒度存储各个设备上传的这些服务列表。当第一设备选择好了目标应用程序需要协同的功能后,第一设备可以从云端设备获取能够实现该功能的设备。
可选的,所述方法还包括:所述第一设备向所述云端设备上报目标账号,所述目标账号为所述第一设备登录的用户账号。
在通过云端设备来管理多个设备时,云端设备可以通过设备上登录的用户账号来进行管理。当用户使用用户账户登录第一设备时,第一设备可以将登录的用户账号上传给云端设备,云端设备则可以以用户账号的粒度来存储服务列表。第一设备登录的用户账号可以是当前登录的终端系统账号或当前登录的应用账号等。
示例性地,云端设备管理范围下的设备在用户使用用户账号登录后,都可以将登录该设备的用户账号上传给云端设备。
其中,所述目标关联设备列表中每个关联设备登录的用户账号为所述目标账号。
具体地,云端设备在接收到各个设备上传的服务列表后,可以根据用户账号来存储各个设备的服务列表,具体为同一用户账号的设备上传的服务列表存储在一起。因此,当第一设备向云端设备请求能够实现选择的需要协同的功能时,云端设备可以查找与第一设备的用户账号相同的且可以实现需要协同的功能的设备,即关联设备,并查找到的设备以列表的形式发送给第一设备。第一设备将查找到的设备显示于第二界面中,从而使得用户可以通过自己的其他设备来执行第一设备上的功能。通过对用户账号的管理可以避免其他人随意使用自己的设备。
在本申请实施例中,用户在第一界面上执行第一选择操作后,第一设备在当前界面上在显示第一界面,该第一界面中展示从云端设备获取的一个或多个关联设备。例如,如图5c所示,用户在第一界面上通过第一选择操作选分离操作选项,第一设备响应与该第一选择操作,在当前界面显示第二界面,第二界面中展示能够对第一设备的目标应用程序实现操作的游戏手柄、鼠标键盘、手机触控。如图5d所示,用户在第一界面上通过第一选择操作选分离画面选项,第一设备响应与该第一选择操作,在当前界面显示第二界面,第二界面中展示能够对第一设备的目标应用程序实现画面显示的客厅电视和我的平板。如图5e所示,用户在第一界面上通过第一选择操作选分离声音选项,第一设备响应与该第一选择操作,在当前界面显示第二界面,第二界面中展示能够对第一设备的目标应用程序实现声音播放的蓝牙耳机、蓝牙音箱和客厅电视。
示例性地,第二界面的显示位置可以根据第一界面的显示位置来确定。例如,当用户的第一选择操作为分离控制选项时,第二界面的显示位置可以位于分离控制选项的旁边,如图5c所示;当用户的第一选择操作为分离画面选项时,第二界面的显示位置可以位于分离画面选项的旁边,如图5d所示。
示例性地,第二界面的显示位置还可以根据第一设备的屏幕的显示方向来确定。例如,当第一设备的屏幕以横屏方向显示时,第二界面的显示位置可以位于分离控制选项的旁边,如图5c-图5e所示;当第一设备的屏幕以竖屏方向显示时,第二界面的显示位置可以悬浮显示于第一界面上,如图5f所示。
示例性地,第二界面的显示位置可以进行移动。当用户拖动或滑动所述第二界面时,第二界面可以根据用户的拖动方向或划定方向进行移动。
示例性地,第二界面的显示位置可以是随机的。第二界面的显示位置可以是用户上次显示的位置,也可以是系统随机确定的显示位置,也可以是用户触屏的位置,本申请实施例对此不做限定。
在一种可能的实现方式中,关联设备可以是第一设备可以检测并连接到的设备,根据用户所处场景的不同,最终获得的满足需求的关联设备可能为0个、1个或者多个。比如,假设在当前场景下,目标应用程序的功能列表包括分离操作选项、分离操作选项和分离声音选项,其中场景内包含的设备为设备A(能够实现分离操作选项和分离画面选项的功能)、设备B(能够实现分离操作选项和分离声音选项的功能)和设备C(能够实现分离操作选项、分离操作选项和分离声音选项的功能),则满足当前场景需求的关联设备组合包括设备A+设备B、设备A+设备C、设备B+设备C、设备C、设备A+设备B+设备C共5个组合。
可选的,第一设备可以获取预设范围内各个终端设备的属性信息,所述属性信息包含终端设备能提供的功能。第一设备根据所述各个终端设备的属性信息,从所述各个终端设备中选取能够实现需要协同的功能的终端设备,将能够实现所述需要协同的功能的终端设备存储于目标关联设备列表。
在用户所处的场景内,第一设备可以通过蓝牙协议、Hilink协议等方式发起搜索,检测并连接周边的各个终端设备,然后分别读取每个终端设备的属性信息,从而确定每个终端设备能提够实现的功能,比如可以读取周边各个终端设备的profile信息,从而获取设备有哪些功能(蓝牙协议规定了许多profile,每个profile描述了一项功能;hilink协议类似)。另外场景内的各个终端设备也可以主动将自身能提够实现的功能进行广播。在确定周边存在哪些终端设备,以及每个终端设备分别具有哪些功能之后,即可从这些终端设备中挑选出能够实现用户选中的需要协同的功能的一个或多个终端设备,也即确定的关联设备。
可选的,第一设备还可以获取预先存储的设备功能对照表,所述设备功能对照表中记录有每个终端设备能提供的功能。第一设备根据所述设备功能对照表,确定预设范围内实现需要协同的功能的终端设备,将能够实现所述需要协同的功能的终端设备存储于目标关联设备列表。
另一种方式,第一设备还可以预先构建并存储一个设备功能对照表,该设备功能对照表记录各个已知类别的终端设备能提供的功能,比如智能音箱具备音频播放功能,智能电视具备图像显示功能和音频播放功能等。在通过有线或无线(比如蓝牙)的方式检测并连接周边的各个终端设备后,可以通过查表的方式分别确定每个终端设备能够提供的功能,最后即可从这些终端设备中挑选出功能。
可选的,所述方法还包括:所述第一设备向所述云端设备发送功能请求,所述功能请求用于请求功能查询,所述功能查询包括以下至少一项:查找所述目标账号下的所有功能、查找包括所述功能列表的所有所述关联设备、查找所述关联设备上的所有功能。
其中,用户登录第一设备后,可以向云端设备请求功能的查询,主要有以下查询方式:
1、通过查找功能列表,获取当前用户账号下所有设备上所有能提供的功能。
2、通过功能查找所有的拥有该功能的设备,如显示功能、定位功能,有些功能可能只在一些设备上有,从而可以筛选出一部分的设备。
3、通过设备查找功能,第一设备可以查找选择的设备上所有能够提供的功能。
用户根据该查询功能可以满足用户在不同应用场景下的需求。例如,用户有设备A,且用户需要设备来协同设备A实现分离操作功能,在用户查找到附件有设备B的情况下,用户可以通过查找设备B所有能够提供的功能,来确定设备B是否可以协同实现操作功能。
S430、响应于针对所述第一关联设备列表中至少一个关联设备的第二选择操作,以使得所述第一设备的所述目标应用程序由所述至少一个关联设备操控。
在本申请实施例中,在显示第二界面后,第一设备可以根据用户的第二选择操作确定协同的至少一个关联设备,以使该至少一个关联设备实现对第一设备的操控。
可选的,所述方法还包括:响应于针对所述第二关联设备列表中至少一个关联设备的第四选择操作,以使得所述第一设备的所述目标应用程序的画面由所述至少一个关联设备显示;和/或,响应于针对所述第三关联设备列表中至少一个关联设备的第六选择操作,以使得所述第一设备的所述目标应用程序的声音由所述至少一个关联设备播放。
需要说明的是,用户可以通过多次选择操作,将目标应用程序的功能列表中的功能分别由关联设备来执行。例如,图5a中的分离操控选项对应的操控功能可以由鼠标键盘是实现,图5a中的分离画面选项对应的显示画面的功能可以由我的平板来实现,图5a中的分离声音选项对应的播放声音的功能可以由蓝牙音箱来实现。其中,所述第二选择操作主要用于从功能列表中选出目标应用程序需要进行协同操作的功能。该第二选择操作可以是预先设定的任意操作,可以由用户设定的,也可以由第一电子设备的系统设定,本申请对此不作限定。根据第一设备的不同,以及第一设备显示方式的不同,第二选择操作可以包括多种不同的实现形式。例如,对于可以支持触屏的第一设备,如智能手机,该第二选择操作可以为触屏操作;对于用鼠标控制的第一设备,如台式电脑,该第二选择操作可以为点击操作;对于远程控制的第一设备,如智能电视机,该第二选择操作可以为选中操作。
示例性地,第一设备在根据用户的操作确定了至少一个关联设备后,第一设备可以调用远程服务,进行第一设备与该至少一个关联设备之间的交互。
举例说明,如图6a所示,设备A上使用设备操作系统提供显示功能、输入功能和定位功能来实现正在运行的应用程序中的功能列表。如图6b所示,当设备A启动协同流程后,设备B提供定位功能来协同设备A中功能列表的分离定位选项、设备C提供输入功能来协同设备A中功能列表的分离控制选项、设备D提供显示功能来协同设备A中功能列表中的分离画面选项。
可选的,所述方法还包括:所述第一设备向所述云端设备发送获取请求,所述获取请求用于请求获取所述至少一个关联设备上的目标功能的授权信息,所述目标功能为实现所述目标应用程序的分离操作功能的功能;所述第一设备接收所述云端设备响应所述获取请求而发送的所述授权信息。
在第一设备与上述至少一个关联设备建立了连接后,第一设备可以通过云端设备验证该至少一个关联设备上的目标功能是否得到用户的授权。具体地,在用户需要对第一设备上的分离操控选项进行协同时,第一设备可以验证能够实现操控功能的关联设备上的目标功能是否得到授权。例如,在用户需要台式电脑上的鼠标来操作手机上游戏的操控时,手机需要验证台式电脑上的鼠标是否得到其用户的授权;在用户需要智能音响来显示手机正在播放的音乐时,手机需要验证是否验证智能音响是否得到其用户的授权;在用户需要智能电视机来显示手机上正在播放的视频时,手机需要验证智能电视机是否得到其用户的授权。
可选的,所述方法还包括:若所述授权信息包括第一关联设备上所述目标功能的授权结果,所述第一设备调用所述第一关联设备上的目标功能,所述至少一个关联设备包括所述第一关联设备;若所述授权信息未包括所述至少一个关联设备上所述目标功能的授权结果,所述第一设备终止调用所述至少一个关联设备的目标功能,并显示第三界面,所述第三界面用于提示调用所述至少一个关联设备的目标功能失败。
具体地,如果提供功能的关联设备进行了授权,则进行下一步;如果没有则整个功能的调用终止,并在第一设备的界面上显示第三界面,以指示用户此次协同调用失败。其中第三界面的显示位置与上述第二界面的显示位置相同。
可选的,所述方法还包括:所述第一设备检测所述目标功能是否可用,在所述目标功能不可用的情况下,终止调用所述目标功能,并显示所述第三界面。
其中,在关联设备进行了授权,则关联设备检测目标功能是否可用,如果目标功能没有启动,则启动目标功能;如目标功能启动失败则终止调用,并在第一设备上显示第三界面,以指示用户此次协同调用失败。
综上所述,结合附图介绍了本申请提供的设备协同方法,该方法可以从多个设备中选取至少一个关联设备来实现用户在第一设备上选择的功能,使得第一设备可以融合多个关联设备提供的功能,同时调用多个不同品类设备的功能,达到多设备的协同工作。同时通过用户的操作,从多个设备中选取至少一个关联设备来实现用户在第一设备上目标应用程序的操控功能,从而实现了关联设备可以操控第一设备的功能。
在具体实现过程中,如图7a所示,本申请提供的设备协同方法可以基于三个模块的协同配合来实现,具体包括:协同模块、服务治理模块和连接模块。
其中,第一设备和关联设备都包括所述协同模块、服务治理模块和连接模块。所述协同模块用于启动所述协同流程;所述服务治理模块用户扫描设备操作系统和/或所有所述应用程序以生成并上报服务列表;所述连接模块用于与云端设备和其他设备之间的建立通信连接。
其中,设备上的应用程序可以包括该设备上自身携带的功能,例如显示功能、定位功能、输入功能、声音功能等,还可以包括下载的应用程序提供的功能列表。设备上的功能可以一定的形式暴露出来,以使得服务治理模块能够扫描识别得到。其中开发的功能需要符合一定的开发规范,这样才能被设备上的服务治理模块识别。特别的,在设备上开发的一些默认的功能,这些功能是设备上能力的暴露,如显示、声音、输入、定位等,这些能力和现有设备操作系统暴露的能力是一致的,很多应用都会用到,只是以规定好的功能的形式再做一次暴露。使得远程设备也能访问到这些功能。
示例性地,功能的开发规范是可扩展的,也可以是多种形式的远程调用方式,如http、gRPC等成熟的方式。也可以使用特殊的方式来满足特殊的需求,如采用私有的协议来做到流式数据的传输效率。多种远程调用方式可以被技术方案中的框架融合,在合适的场景采用合适的方式。
示例性地,本申请提供的设备协同的方法还需要云端设备的协同配合来实现。如图7b所示,云端设备可以包括用户存储各个设备的服务列表的服务治理模块、用于与各个设备建立连接的设备管理模块以及用于管理各个设备的用户管理模块。
示例性,如图8所示,所述第一设备确定关联设备,,还可以包括如下步骤:
S81、第一设备通过第一设备上的连接模块以及云端设备上的设备管理模块,建立起第一设备与关联设备的连接。
S82、第一设备查找云端设备上的服务治理模块,验证第一设备使用关联设备上的目标功能是否得到了用户的授权。
其中,云端设备上的服务治理模块存储有各个设备的服务列表和/或各个设备的授权信息,第一设备在与关联设备建立连接后,可以向云端设备发送请求,以获取关联设备上的目标功能的授权信息,从而调用关联设备。
S83、当云端设备上的服务治理模块未存储关联设备上的目标功能的授权信息,云端请求获取关联设备的一次性使用授权。
S84、当云端设备上的服务治理模块存储有关联设备上的目标功能的授权信息或云端设备得到关联设备的一次性使用授权,则关联设备上的网关检测模块检测目标功能是否可用。
S85、当关联设备上的网关检测模块检测目标功能可用时,第一设备调用该关联设备上的目标功能。
S86、当关联设备上的网关检测模块检测目标功能不可用时,关联设备尝试启动目标功能。
S87、当关联设备未启动目标功能或云端设备未得到关联设备的一次性使用授权时,在第一设备上显示调用关联设备上的目标功能失败。
其中,第一设备调用关联设备上的目标功能可以通过约定好的方式进行调用。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图9示出了设备协同装置的示意图,如图9所示,该设备协同装置900应用于电子设备,该设备协同装置900可以包括:显示单元910和处理单元920。
其中,显示单元910可以用于支持电子设备执行上述S410、S420等,和/或用于本文所描述的技术的其他过程。
处理单元920可以用于支持电子设备执行上述S430等,和/或用于本文所描述的技术的其他过程。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述设备协同方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理,例如,可以用于支持电子设备执行上述显示单元910和处理单元920执行的步骤。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图1所示结构的设备。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的设备协同方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的设备协同方法。
另外,本申请的实施例还提供一种第一设备,这个第一设备具体可以是芯片,组件或模块,该第一设备可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当第一设备运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的设备协同方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将第一设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的第一设备和方法,可以通过其它的方式实现。例如,以上所描述的第一设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个第一设备,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,第一设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
- 设备协作方法、装置、系统、电子设备和存储介质
- 多设备协作的方法、电子设备及多设备协作系统