CN111666075B - 一种多设备交互的方法及系统 - Google Patents
一种多设备交互的方法及系统 Download PDFInfo
- Publication number
- CN111666075B CN111666075B CN202010480943.4A CN202010480943A CN111666075B CN 111666075 B CN111666075 B CN 111666075B CN 202010480943 A CN202010480943 A CN 202010480943A CN 111666075 B CN111666075 B CN 111666075B
- Authority
- CN
- China
- Prior art keywords
- component
- application
- electrodes
- alternatively
- component library
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Abstract
一种多设备交互的方法及系统。在该方法中,第一设备中安装有第一应用程序,第二设备中可不安装第一应用程序。第一设备显示第一应用程序的用户界面,并向第二设备发送第一应用程序的用户界面的UI描述信息。该UI描述信息可用于描述第一应用程序的用户界面中的组件的属性。第二设备结合第二设备的屏幕形状和尺寸,根据该UI描述信息显示第一应用程序的用户界面。第二设备还可以检测该用户界面上的用户操作,并向第一设备反馈该用户操作。第一设备可以处理该用户操作指示的任务。实施本方案,第二设备不必安装第一应用程序,而通过与第一设备交互为用户提供第一应用程序中的服务,从而有效减少开发成本。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种多设备交互的方法及系统。
背景技术
随着信息设备数量的增长,多设备交互的应用场景越来越多。其中,在多设备交互的过程中,多个设备都可以显示对应于同一项服务的用户界面。当其中任意一个设备检测到用户操作,这多个设备都可以根据该用户操作进行相关处理。这样,多个不同的设备就可以相互通知、交换信息、相互控制,从而共同完成一个应用场景。例如,手机将来电通知或即时消息推送到智能手表的屏幕并辅助以震动提醒,智能手表控制手机上播放的音乐等。
目前,多个设备分别安装可以实现同一项服务的应用程序。这多个设备可以运行各自安装的应用程序来实现上述交互的过程。但这种方式需要在多侧安装应用程序,开发成本较高。
发明内容
本申请提供了一种多设备交互的方法及系统。第一设备中安装有第一应用程序。第二设备可以通过接收来自第一设备中第一应用程序的用户界面UI描述信息,来显示第一应用程序的用户界面并相应作用在该用户界面上的用户操作。这样,第二设备可以在不安装该第一应用程序的情况下,为用户提供第一应用程序的服务,从而减少开发人员在第二设备开发该第一应用程序的开发成本。
第一方面,本申请实施例提供了一种多设备交互方法,该方法包括:第二设备接收来自第一设备的第一UI描述信息;该第一UI描述信息用于描述第一应用程序的第一UI组件,该第一UI组件是根据该第一应用程序的第一用户界面确定的;该第一UI组件在该第一用户界面上以第一组件属性显示;该第一应用程序为安装在该第一设备上的应用程序;第二设备可以根据第二组件属性以及该第一UI组件的可执行的底层代码实例化该第一UI组件;该第二组件属性是根据该第一UI描述信息确定的,该第一UI组件的可执行的底层代码是根据该第一UI组件的组件类型从组件库中确定出的,该组件库包含用于绘制不同类型的组件的可执行的底层代码;第二设备可以显示第二用户界面,第二用户界面可以包括该第一UI组件。该第一UI组件在第二用户界面中可以以上述第二组件属性显示;其中,该第一组件属性、该第二组件属性均包括组件类型,以及以下一项或多项参数:组件尺寸、组件位置、组件外观。
在本申请中,第一设备和第二设备均可以为手机、电脑、智能手表、智能电视、智能汽车等设备。在不同的应用场景中,第一设备和第二设备可以不同。
在一些可能的实现方式中,第一设备可以为智能汽车,第二设备可以为智能手表。其中,智能汽车中可安装有疲劳驾驶检测系统。当检测到用户疲劳驾驶时,智能汽车可以向智能手表发送包含有警告信息的UI描述信息。智能手表可以在屏幕上显示警告信息并辅助以震动提醒。
在另一些可能的实施例中,第一设备可以为手机,第二设备可以为智能手表。当手机收到来电通知或即时消息等,手机可以向智能手表发送与来电通知界面或即时消息等用户界面对应UI描述信息。智能手表可以在屏幕上显示来电通知或即时消息等。
在本申请实施例中,第一设备与第二设备建立有通信连接。其中,连接的方式可以包括:经典蓝牙、低功耗蓝牙、近场通信。
在本申请实施例中,第二设备中包含有组件库。第二设备可以通过以下一种或多种方式获取组件库:第二设备从第一设备中获取组件库、第二设备从云端(如内容服务器)中获取组件库、第二设备通过预置的方式存储有组件库。
在一些实施例中,第二设备包含的组件库中包含用于绘制部分或全部类型的组件的可执行的底层代码。
在本申请实施例中,UI描述信息,如第一UI描述信息,是对用户界面中各组件的描述。其中的数据量比较小。这样第一设备向第二设备传输UI描述信息可以不需要高带宽,从而降低了对数据传输带宽的要求。另外UI描述信息不是处理器直接可执行的程序,可以减少第二设备直接下载可执行的程序带来的不可控的安全隐患。
结合第一方面,上述第一用户界面可以显示在第一设备上。
例如,第一设备为手机,第二设备为智能手表。当手机接收到来电通知,该来电通知界面可以显示在手机上。并且智能手表可以接收到来自手机的该来电通知界面的UI描述信息。进而,智能手表可以根据该UI描述信息在用户界面上显示该来电通知界面中的组件。例如,接听组件、挂断组件。并且这些组件可以响应用户操作。这样,手机和手表均可显示来电通知界面以提醒用户接听电话。
结合第一方面,当在第二用户界面中检测到作用于第一UI组件的第一用户操作,第二设备可以改变第一UI组件在第二用户界面中的组件尺寸和/或组件外观。上述组件外观可以包括以下一项或多项:颜色、前景、背景。
具体的,上述第一UI组件可以关联有监听器。该监听器可用于监听作用在第一UI组件的用户操作,例如单击、长按、拖拽。当监听器监听到第一UI组件上作用有用户操作,第二设备可以改变第一UI组件的组件尺寸和/或组件外观。即第一UI组件本身的显示状态发生变化。其中,第一UI组件本申请的显示状态可以发生以下一项或多项变化:第一UI组件的大小发生变化、第一UI组件的前景图标发生变化、第一UI组件以及第一UI组件的子组件的大小均发生变化。
示例性的,当UI描述信息包含对手机主界面上应用程序图标的描述,智能手表可以根据该UI描述信息显示第一设备主界面上的应用程序图标。例如拨号图标、微信图标、Google Maps图标和设置图标等。当检测到作用在Google Maps图标上的单击操作,GoogleMaps图标可以变大。即Google Maps图标可以通过变大来指示Google Maps图标处于被选中的状态。
也即是说,上述第二用户界面的第一UI组件可以响应用户操作,不同于静态图片。
结合第一方面,响应于在第二用户界面中检测到的作用在第一UI组件上的用户操作,第二设备可以向第一设备发送第一事件。其中,该第一事件可用于指示该第一用户操作的发生。该第二设备接收来自该第一设备的第二UI描述信息;该第二UI描述信息用于描述该第一应用程序的第二UI组件,该第二UI组件是根据该第一应用程序的第三用户界面确定的;该第二UI组件在该第三用户界面上以第三组件属性显示;第二设备可以根据第四组件属性以及该第二UI组件的可执行的底层代码实例化该第二UI组件。该第四组件属性是根据该第二UI描述信息确定的,该第二UI组件的可执行的底层代码是根据该第二UI组件的组件类型从该组件库中确定出的。第二设备可以显示第四用户界面,该第四用户界面可包括该第二UI组件。该第二UI组件在该第四用户界面可以以上述第四组件属性显示。
也即是说,响应于在第二用户界面中检测到的作用在第一UI组件上的用户操作,第二设备可以跳转至下一个用户界面或者刷新第二用户界面,显示第四用户界面。
示例性的,当接收到来自手机来电通知界面的UI描述信息,智能手表可以根据该UI描述信息显示该来电通知界面中的组件。例如接听组件和挂断组件。当检测到作用在智能手表用户界面中挂断组件的用户操作,智能手表可以将指示挂断组件上作用有用户操作的事件发送给手机。进一步,智能手表可以接收到来自手机挂断电话界面的UI描述信息。智能手表可以根据该挂断电话界面的UI描述信息显示挂断电话界面的组件。其中,该挂断电话界面可以显示或者不显示在手机上。
结合第一方面,第二设备可以根据该第一UI组件的组件类型从组件库中查找出该第一UI组件的可执行的底层代码;第二设备可以利用该第一UI组件的可执行的底层代码得到该第一UI组件的组件类型的组件对象;第二设备可以利用该第二组件属性设置该第一UI组件的组件类型的组件对象在第二用户界面中的以下一项或多项参数:组件尺寸、组件位置、组件外观,得到实例化的第一UI组件。
在一些实施例中,第一UI组件内部包括至少一个子组件,第二设备可根据该第一UI组件的组件类型从组件库中查找出该第一UI组件的可执行的底层代码,以及根据该子组件的组件类型从组件库中查找出该子组件的可执行的底层代码;第二设备可以利用该第一UI组件的可执行的底层代码得到该第一UI组件的组件类型的组件对象,以及利用该子组件的可执行的底层代码得到该子组件的组件类型的组件对象;第二设备可以利用该第二组件属性设置该第一UI组件的组件类型的组件对象在第二用户界面中的以下一项或多项参数:组件尺寸、组件位置、组件外观,得到实例化的第一UI组件,以及利用该子组件的组件属性设置该子组件的组件类型的组件对象在第二用户界面中的以下一项或多项参数:组件尺寸、组件位置、组件外观,得到实例化的子组件。
结合第一方面,在一种可能的实现方式中,第一UI描述信息可包括上述第一组件属性,该第二设备可根据该第一组件属性以及第二设备的屏幕信息确定该第二组件属性;该屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率。
结合第一方面,在一种可能的实现方式中,第一UI描述信息可包括上述第二组件属性。该第二组件属性可以是有第一设备根据上述第一组件属性以及第二设备的屏幕信息确定的。其中,第二设备可以向第一设备发送第二设备的屏幕信息。
可以看出,第一UI组件的第二组件属性可以利用第二设备的屏幕信息确定。也即是说,第一设备或者第二设备可以根据第二设备的屏幕信息,来确定第一UI组件在第二设备上显示的组件尺寸、组件位置。这样,不仅减少了屏幕不适配的问题,而且一套UI描述信息可以适用于多种设备。
在一些实施例中,第一UI组件可以根据第一用户界面中的部分或全部组件来确定。
示例性的,来电通知界面中可包括头像组件、联系人组件、挂断组件和接听组件。其中,头像组件可以指示联系人的头像。联系人组件可以指示联系人的名字。挂断组件可用于挂断电话,接听组件可用于接听电话。当接收到来电通知界面的UI描述信息,智能手表可以显示该来电通知界面中的组件。其中该来电通知界面中的组件可以具有优先级顺序。即智能手表可以按照上述组件的优先级从高至低的顺序显示这些组件。当智能手表的屏幕尺寸不足以显示来电通知界面中的所有组件时,优先级低的组件可以不显示在智能手表中。例如,挂断组件和接听组件的优先级顺序可以是第一优先级。联系人组件可以的优先级顺序可以是第二优先级。头像组件可以的优先级顺序可以是第三优先级。智能手表可以先显示挂断组件和接听组件,然后显示联系人组件,最后显示头像组件。
结合第一方面,第二设备在显示第二用户界面之前,该方法还包括:第二设备可以处于熄屏状态;
或者,
第二设备可以显示第三用户界面,该第三用户界面是第二应用程序的用户界面,该第二应用程序为安装在第二设备上的应用程序。
结合第一方面,第一应用程序可包括系统应用程序、主屏幕应用程序、第三方应用程序。该第三方应用程序为从第三方应用市场下载安装的应用程序。该系统应用程序例如是拨号应用、短信应用、联系人应用。该第三方应用程序例如是微信应用、运动健康应用、Google Maps应用。
也即是说,第二设备可以根据接收到的来自第一设备中系统应用程序用户界面的UI描述信息、主屏幕应用程序用户界面的UI描述信息、第三方应用程序用户界面的UI描述信息,来显示第一设备中系统应用程序的用户界面、主屏幕应用程序的用户界面、第三方应用程序的用户界面,从而在不安装这些应用程序的情况下,通过与第一设备通信来为用户提供这些应用程序的服务。这样,开发人员不必要进行第二设备侧的应用程序开发,从而有效减少开发成本。
在本申请实施例中,第一应用程序的第一UI组件可以以第一组件属性显示在第一设备的第一用户界面中,还可以以第二组件属性显示在第二设备的第二用户界面中。该第一组件属性可以与第二组件属性相同。例如,第一设备和第二设备为两个屏幕信息相同的设备,第一UI组件可以以相同的组件尺寸、组件位置和组件外观显示在这两个设备的用户界面上。第一组件竖向可以与第二组件属性不同。例如,第一设备和第二设备分别为手机和智能手表,这两个设备的屏幕信息不相同。第一UI组件显示在手机和智能手表上的组件尺寸、组件位置和组件外观可以不相同。
第二方面,本申请实施例提供还提供一种多设备交互方法,该方法包括:第一设备检测到第一事件,可以向第二设备发送第一用户界面UI描述信息;该第一UI描述信息可以用于描述第一应用程序的第一UI组件,该第一UI组件是根据该第一应用程序的第一用户界面确定的;该第一UI组件可以在该第一用户界面上以第一组件属性显示;该第一应用程序为安装在该第一设备上的应用程序;第二设备可以根据第二组件属性以及该第一UI组件的可执行的底层代码实例化该第一UI组件。该第二组件属性可以是根据该第一UI描述信息确定的,该第一UI组件的可执行的底层代码可以是根据该第一UI组件的组件类型从组件库中确定出的,该组件库包含用于绘制不同类型的组件的可执行的底层代码。第二设备可以显示第二用户界面;该第二用户界面包括该第一UI组件。该第一UI组件可以在该第二用户界面中以第二组件属性显示。其中,该第一组件属性、该第二组件属性均包括组件类型,以及以下一项或多项参数:组件尺寸、组件位置、组件外观。
结合第二方面,在一种可能的实现方式中,第一设备可以根据第一预设规则,从多个设备中确定第二设备。这多个设备与第一设备均建立有通信连接。
具体的,第一设备可以根据与第一设备之间距离的远近或者这多个设备之间的优先级顺序等方式来确定与之进行交互的第二设备。也即是说,第一设备可以从多个与之建立有通信连接的设备中选择距离最近的一个设备作为第二设备,然后向该被选择的第二设备发送第一应用程序中用户界面的UI描述信息。或者,多个与第一设备建立有通信连接的设备之间有优先级顺序。第一设备可以选择优先级最高的设备作为第二设备,然后向该被选择的第二设备发送第一应用程序中用户界面的UI描述信息。
示例性的,在用户开车收到来电通知的应用场景中,第一设备可以为手机。其中,智能汽车和用户佩戴的智能手表均与手机建立有通信连接,且在该应用场景中,智能汽车的优先级高于智能手表的优先级。当手机收到来电通知,手机可以向优先级更高的智能汽车发送如来电通知界面的UI描述信息。智能汽车可以根据该UI描述信息在显示屏上显示该来电通知界面中的组件。并且,车载电脑可以响应用户操作(例如触摸操作,声控操作)来接听电话。
结合第二方面,在一种可能的实现方式中,第一设备可以检测到第一用户操作。该第一用户操作可用于选择第二设备。第一设备可以确定该第一用户操作选择的设备为第二设备。
示例性的,第一设备可以为手机,且该手机与用户的平板、智能手表均建立有通信连接。第一设备可以显示音乐播放界面。响应于将该音乐播放界面的UI描述信息发送至智能手表的用户操作,手机可以将该UI描述信息发送给智能手表。智能手表可以显示该音乐播放界面。其中手机还可以将播放的音乐的音频数据发送给智能手表。这样,智能手表可以播放音乐并响应作用在音乐播放界面上的用户操作。
第三方面,本申请实施例提供一种设备,包括显示屏、通信装置、存储器以及处理器。其中:所述显示屏用于显示用户界面;所处存储器用于存储于一个或多个程序;所述处理器用于执行所述一个或多个程序,使得所述设备实现如第一方面中任一可能的实现方式,或如第二方面中任一可能的实现方式。
第四方面,本申请实施例提供一种芯片,该芯片应用于设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该设备执行如第一方面中任一可能的实现方式,或如第二方面中任一可能的实现方式。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,其特征在于,当上述计算机程序产品在设备上运行时,使得上述设备执行如第一方面中任一可能的实现方式,或如第二方面中任一可能的实现方式。
第六方面,本申请实施例提供一种计算机可读存储介质,包括指令,其特征在于,当上述指令在设备上运行时,使得上述设备执行如第一方面中任一可能的实现方式,或如第二方面中任一可能的实现方式。
可以理解地,上述第三方面提供的设备、第四方面提供的芯片、第五方面提供的计算机程序产品和第六方面提供的计算机可读存储介质均用于执行本申请实施例所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
图1A是本申请实施例提供的一种用户界面的组件构成的示意图;
图1B、图1C是本申请实施例提供的一种用户界面的组件的逻辑关系的结构示意图;
图2A~图2E、图3A~图3D、图4A以及图4B为本申请实施例提供的多设备交互的一系列用户界面示意图;
图5是本申请实施例提供的一种多设备交互的方法流程图;
图6A~图6E是本申请实施例提供的一些多设备交互的用户界面示意图;
图7是本申请实施例提供的一种设备实例化组件的方法流程图;
图8是本申请实施例提供的一种设备确定组件与屏幕适配的方法流程图;
图9A、图9B、图10A以及图10B为本申请实施例提供的组件与设备的屏幕适配的应用场景示意图;
图11A~图11C是本申请实施例提供的另一些多设备交互的用户界面示意图;
图12是本申请实施例提供的一种开发多设备交互系统的结构示意图;
图13是本申请实施例提供的另一种开发多设备交互系统的结构示意图;
图14是本申请实施例提供的一种设备的结构示意图;
图15是本申请实施例提供的另一种设备的结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
目前实现多设备交互的应用场景越来越多。实现多设备交互的现有技术主要有三类。
第一种方式为在多个设备上分别安装可以实现同一项服务的应用程序来实现多设备交互。例如,用户在手机和智能手表上利用微信这一个应用和他人进行通信的应用场景,手机和智能手表上都需要安装微信应用程序。这样,对于同一个应用程序,开发人员需要开发能适用不同设备的应用程序,开发成本较高。
第二种方式为在一个设备上安装应用程序或者云端(如服务器)部署有应用程序,其他设备可以通过动态下载可执行程序(如热补丁)的方式与上述一个设备交互。例如,一个设备安装有应用程序,该应用程序的多个功能分别包含于多个程序包中。当另一个设备要提供该应用程序的某一个功能时,这另一个设备可以运行从上述一个设备中下载的与这一个功能对应的程序包。但执行动态下载的可执行程序时,会存在不可控的安全隐患。
第三种方式为在一个设备上安装应用程序,这一个设备可以运行所有的应用和服务,并将运行的结果(如像素信息或绘制命令)发送给其他设备。其他设备可以根据这些运行结果进行显示,从而实现多设备交互。但在这种实现方式中,上述一个设备的运行结果没有考虑到其他设备的屏幕大小等信息,可能会出现屏幕不适配的问题。
本申请实施例提供了一种多设备交互的方法。在该方法中,第一设备中安装有第一应用程序(如拨号应用),第二设备中可以不安装该第一应用程序。当第一设备与第二设备进行交互,第一设备可以将第一应用程序的用户界面的用户界面(User Interface,UI)描述信息发送给第二设备。当得到上述UI描述信息,第二设备可以运行服务程序来解析UI描述信息,并利用组件库实例化UI描述信息中的各组件。当对UI描述信息中的所有组件进行了实例化,第二设备可以根据这些组件之间的逻辑关系在用户界面上显示这些组件。其中,上述组件库中包含有可用于绘制各种组件的可执行的底层代码。进一步的,当检测到作用在第二设备的用户操作,例如,用户的触摸操作、输入文本操作等,第二设备可以将该用户操作反馈给第一设备。第一设备可以对该用户操作进行处理。
在一些可能的多设备交互的应用场景中,第一设备可以为智能汽车,第二设备可以为智能手表。其中,智能汽车中可安装有疲劳驾驶检测系统。当检测到用户疲劳驾驶时,智能汽车可以向智能手表发送包含有警告信息的UI描述信息。智能手表可以在屏幕上显示警告信息并辅助以震动提醒。或者,第一设备可以为手机,第二设备可以为智能手表。当手机收到来电通知或即时消息等,手机可以向智能手表发送与来电通知界面或即时消息等用户界面对应UI描述信息。智能手表可以在屏幕上显示来电通知或即时消息等。在这些多设备交互的应用场景中,多设备交互的过程均可使用上述本申请实施例提供的多设备交互的方法。
需要进行说明的是,在上述多设备交互的应用场景中,第一设备可以先从多个设备中确定需要进行交互的第二设备,然后向该第二设备发送第一应用程序的UI描述信息。该第二设备中可以不用安装该第一应用程序。当接收到上述来自第一设备的UI描述信息,第二设备可以为用户提供第一应用程序中的服务。
在上述第一设备与第二设备交互的过程中,第一设备中第一应用程序的用户界面可以显示在第二设备上。第二设备可以检测用户操作,并向第一设备反馈该用户操作。然后,第一设备可以处理该用户操作指示的任务。这样,第一设备和第二设备就可以相互通知、交换信息、相互控制。并且第二设备不必要安装第一应用程序,开发人员也不必要进行第二设备侧的应用程序开发,从而有效减少开发成本。
与第一设备相比,第二设备可以是计算能力、存储能力或人机交互能力等较弱的轻量级设备,如智能手表。这样,在轻量级设备不安装第一应用程序的情况下,该轻量级设备也可以为用户提供上述第一应用程序的服务和应用。上述多设备交互的方法不仅减少了开发成本,还降低了对第二设备各种能力,如计算能力、存储能力或人机交互能力等,的要求。
在本申请实施例中,上述第一设备和第二设备均可以为手机、电脑、智能手表、智能电视、智能汽车等设备。在上述第一设备与第二设备交互的方法中,第一设备和第二设备均可以为多个设备,本申请实施例对此不作限定。
下面对在介绍多设备交互的方法时涉及的一些概念进行说明。
UI描述信息:符合UI描述格式的文本,用于描述用户界面中各组件的属性,还可以用于描述各组件对输入事件或绑定数据的处理。UI描述信息中可以接入脚本或者字节码。上述UI描述格式为一种文本格式,例如,XML格式或者JSON格式等。UI描述格式定义了对用户界面的各组件进行描述所需要遵循的语法。
UI描述信息可以在第二设备与第一设备或者云端(如应用市场)进行传输。UI描述信息由第二设备加载解析并利用组件库在用户界面上实现其中各组件的显示。
服务程序:在设备上预置的一个常驻程序或模块。服务程序可用于加载解析UI描述信息,以实现在设备的用户界面上显示UI描述信息中的各组件。服务程序还可以用于调用虚拟机或者脚本引擎,以执行UI描述信息中接入的字节码或者脚本。
组件:指有独立外观、可响应输入事件以及可以绑定数据的UI基本元素。例如,按钮、滑块、复选框、文本框和图标等。上述输入事件可以为设备检测到的作用于组件上的用户操作,例如触摸操作、输入文本操作等。上述绑定数据可以表示组件与数据建立有对应关系。当检测到与组件绑定的数据变化时,设备可以更新组件。例如,对于设备上用于显示当前时刻的组件,当前时刻发生变化时(如从10:00到10:01),设备可以更新组件上的时刻。或者,当检测到组件发生变化时,设备也可以更新数据。
在本申请实施例中,第二设备在用户界面根据UI描述信息显示的组件关联有监听器。该监听器可用于监听作用在组件上的用户操作,例如单击、长按、拖拽。当监听器监听到组件上作用有用户操作,该组件可以响应该用户操作。具体的响应方式可以包括:该组件本身的显示状态发生变化,例如组件的外观发生变化,且第二设备可以根据该用户操作跳转至下一个用户界面或者刷新当前用户界面。
在一些实施例中,响应于作用在第二设备根据UI描述信息显示的组件上的用户操作,该组件的大小可以发生变化。如图2E所示,当UI描述信息包含对第一设备(即手机)主界面上应用程序图标的描述,第二设备(即智能手表)可以根据该UI描述信息显示第一设备主界面上的应用程序图标。例如拨号图标721、微信图标722、Google Maps图标723和设置图标724等。当检测到作用在Google Maps图标723上的单击操作,Google Maps图标723可以变大。也即是说,Google Maps图标723可以通过变大来指示Google Maps图标723处于被选中的状态。
在另一些实施例中,响应于作用在第二设备根据UI描述信息显示的组件上的用户操作,该组件的前景图标可以发生变化。当UI描述信息包含对第一设备音乐播放界面中各组件的描述,第二设备可以根据该UI描述信息显示音乐播放界面上的各组件。例如播放控制键。若该播放控制键初始的前景图标为指示音乐正在播放的图标,响应于作用在前景图标为指示音乐正在播放的图标的播放控制键的用户操作,播放控制键可以将前景图标变换为指示音乐处于暂停播放状态的图标。也即是说,该播放控制键可以通过变化前景图标的方式指示音乐处于播放或暂停的状态。
在另一实施例中,响应于作用在第二设备根据UI描述信息显示的组件上的用户操作,该组件的大小以及该组件内部包含的子组件的大小均可以发生变化。当UI描述信息包含对第一设备桌面上应用程序图标的描述,第二设备可以根据该UI描述信息显示第一设备桌面上的应用程序图标。其中,这些应用程序图标可以是桌面中页面组件的子组件。响应于作用在第二设备用户界面中页面组件上的长按操作,该页面组件及其子组件均可以变小。进一步的,响应于作用在页面组件上的拖拽操作,该页面组件及其子组件可以与其它页面组件及其子组件交换显示在第二设备上的位置。
本申请实施例对上述响应用户操作时,组件本身的显示状态发生变化的方式不作限定,组件的显示状态可以发生其他的变换。
可以看出,第二设备根据UI描述信息显示的组件关联有监听器,这些组件可以根据监听器监听到的用户操作进行响应,不同于第二设备根据来自第一设备的绘制命令显示的静态图片。
其中,组件可以包括第一组件和第二组件。该第一组件可以为内部包含有其他组件的组件。该第一组件与这些其他组件之间的关系为父组件和子组件之间的关系。并且该第一组件可以管理其内部子组件的排布方式。该第二组件可以为内部不包含有其他组件的组件。
在本申请实施例中,UI描述信息中可包含对第一组件的属性的描述。第一组件的属性可以包括该第一组件的类型,第一组件的类型可以包括线性布局或者相对布局。例如线性布局可以规定其内部子组件的对齐方式为左对齐、排列方式为从上至下,则该线性布局内部的子组件按照左对齐、从上至下的方式逐个进行排列。第一组件的属性还可以包括该第一组件的期望尺寸、期望位置以及外观(如背景、前景、边框线条)。第一组件的属性还可以包括其内部包含的子组件的尺寸和位置信息。例如,子组件的宽高尽量匹配父组件的宽高、子组件的宽高尽量匹配子组件中内容的宽高等。
在本申请实施例中,UI描述信息中可包含对第二组件的属性的描述。第二组件的属性可以包括第第二组件的类型,第二组件的类型可以包括按钮、滑块、复选框、文本框和图标。第二组件的属性还可以包括该第二组件的期望尺寸、期望位置以及外观(如背景、前景、边框线条)等。
图1A示例性示出了一个用户界面的组件构成。
如图1A所示,该用户界面上包含组件101、组件102、时间组件103、心率组件104、天气组件105和温度组件106。
其中,组件101中包含有组件102、时间组件103和心率组件104,则组件101为第一组件。组件102中包含有天气组件105和温度组件106,则组件102为第一组件。由于时间组件103、心率组件104、天气组件105和温度组件106中不包含子组件,则时间组件103、心率组件104、天气组件105和温度组件106为第二组件。组件101和组件102均可以为线性布局,包含于组件101和组件102内的各子组件可以按照左对齐,从左至右并自动换行的方式进行排列。时间组件103和心率组件均可以为文本框,分别用于显示当前时间和心率数据。天气组件105可以为图标,用于指示当前的天气状况(如晴天、多云、暴雨等)。温度组件106可以为文本框,用于显示当前的环境温度。
图1B示出了图1A中所示的用户界面的UI描述信息中各组件的逻辑关系。如图1B所示,第一组件101中包含子组件102~104。并且第一组件101的子组件102也为第一组件。其中第一组件102中包含子组件105和子组件106。
第二设备(智能手表)可以运行服务程序来解析该UI描述信息,从而确定组件101~106的属性。当实例化第一组件101,第二设备(智能手表)可以结合智能手表的屏幕信息(如形状、尺寸、分辨率等)确定第一组件的尺寸和位置,在智能手表的屏幕上显示如图1A所示的第一组件101。智能手表还可以确定第一组件101中的子组件102~104的排布方式,以及这些子组件在智能手表中的尺寸和位置。当实例化第一组件102,由于智能手表在实例化第一组件101时确定了组件102的尺寸和位置,则智能手表可以确定第一组件102的背景色、边框线条等属性,以及第一组件102中子组件105和子组件106的尺寸和位置。
当实例化第二组件103~106,智能手表可以根据这些第二组件的属性,在智能手表的屏幕上显示如图1A所示的时间组件103、心率组件104、天气组件105和温度组件106。
在本申请实施例中,UI描述信息中各组件之间的逻辑关系可以通过UI视图树进行描述。
图1C示出了一棵UI视图树。该UI视图树可以指示如图1A和图1B中的UI描述信息中各组件之件的逻辑关系。如图1C所示,节点101和节点102可以分别表示组件101和组件102,节点103、节点104、节点105和节点106可以分别表示时间组件103、心率组件104、天气组件105和温度组件106。节点101与节点102、节点103、节点104之间是父节点和子节点的关系。同样的,节点102和节点105、节点106之间是父节点和子节点的关系。
也即是说,当对UI描述信息中的各组件进行了实例化,第二设备可以根据上述UI视图树在用户界面上显示各组件。本申请实施例对上述用户描述UI描述信息中各组件之间的逻辑关系的方式不作限定。
组件库:包含有与各组件对应的可执行的底层代码(如机器码、字节码等)的一个模块。其中,上述可执行的底层代码可用于在用户界面绘制各组件。上述机器码可以直接运行在设备的中央处理器(central processing unit,CPU)上。上述字节码可以运行在设备的虚拟机中。组件库中可执行的底层代码可以包括指令部分和数据部分。当运行服务程序来解析UI描述信息时,设备可以确定组件的属性。进一步的,设备可以根据上述属性中组件的类型从组件库中获取与该组件对应的可执行的底层代码,并根据该组件的其它属性初始化可执行的底层代码的数据部分。当与该组件对应的可执行的底层代码中的数据部分经过初始化,设备运行经过初始化的可执行的底层代码时,设备可以实例化该组件,即在用户界面上绘制出该组件。该组件具有UI描述信息中描述该组件的属性。例如,背景色为灰色、边框线条为黑色且粗细为2px的按钮。
组件库可以通过预置的方式存储在第一设备或第二设备中。另外,组件库还可以在第一设备下载应用程序时一起下载至第一设备中,或者在第一设备向第二设备发送UI描述信息时一起发送至第二设备中。本申请实施例对此不作限定。
在一些实施例中,上述通过预置的方式或者下载的方式存储在第一设备、第二设备中的组件库可以包含与一部分组件对应的可执行的底层代码。这一部分组件为第一设备、第二设备为用户提供服务,显示相应的用户界面所需要的组件。也即是说,存储在第一设备、第二设备中的组件库可以不必包含与所有组件对应的可执行的底层代码。
根据上面对多设备交互的方法以及涉及的一些概念的介绍,可以看出,在第一设备与第二设备交互的应用场景中,第一设备可安装第一应用程序,而第二设备上可无需安装该第一应用程序。这样可以有效减少开发成本。
此外,在多设备交互时,第一设备可以向第二设备发送第一应用程序中用户界面的UI描述信息。第二设备可以解析UI描述信息来显示上述第一应用程序的用户界面,并将检测在该用户界面上检测到的用户操作向第一设备反馈。第一设备可以处理该用户操作指示的任务。这样用户就可以通过第二设备来间接控制第一设备。其中在第一设备与第二设备之间传递的UI描述信息不是可执行程序,从而减少了不可控的安全隐患。
第二设备在运行服务程序来解析UI描述信息时,可以获取第二设备自己的屏幕信息(如形状、尺寸、分辨率),进而确定UI描述信息中各组件在第二设备上的尺寸和位置。这样根据设备的屏幕的形状和大小来确定各组件的尺寸和位置,不仅可以减少屏幕不适配的问题,而且这一套UI描述信息可以适用于多种设备。
由于第二设备可以解析UI描述信息,绘制用户界面的各组件等高开销的步骤主要依赖于组件库,即第二设备可以直接运行组件库中可执行的底层代码来绘制各组件。这样就降低了对第二设备处理能力的要求。另外,相比于传输较底层的像素信息或者绘制命令,传输UI描述信息占用的带宽更少。由以上两点可以看出,本申请实施例提供的多设备交互的方法很适合包含有轻量级设备的应用场景。
在第一设备与第二设备交互时,第一设备可以向第二设备发送UI描述信息,该UI描述信息可以描述第一应用程序中用户界面各组件的属性。其中,上述第一应用程序可以为系统应用或第三方应用。
该系统应用可以为第一设备或第二设备在出厂时预置在设备中的应用程序。例如,主界面应用、拨号应用、信息应用、联系人应用、相机、设置等。
该第三方应用可以为第一设备或第二设备从云端(如应用市场)或者其他地方下载安装的应用程序。例如,运动健康、微信、Google Maps等。
下面以第一应用程序为系统应用或者第三方应用为例,介绍第二设备显示第一设备中第一应用程序的用户界面的实施例。
图2A~图2E示出了第一应用程序为系统应用中的主界面应用时,第二设备显示第一设备的主界面的一些用户界面。
第一设备与第二设备进行交互之前,第一设备可以选择与之交互的第二设备,以及第一应用程序。
本申请实施例以第一设备为手机,第二设备为智能手表来进行说明。第一设备和第二设备均可以为其他的设备,本申请实施例对此不作限定。
如图2A所示,手机可以显示主界面710。主界面710可包括状态栏711、具有常用应用程序表的组件715、日历组件712、天气组件713、导航栏716以及其他应用程序图标714。
其中:
状态栏711可包括移动通信信号的一个或多个信号强度组件、无线高保真(wireless fidelity,WiFi)信号的一个或多个信号强度组件、蓝牙组件、电池状态组件以及时间组件。
日历组件712可用于指示当前时间,例如日期、星期几、时分信息等。
天气组件713可用于指示天气类型,例如多云转晴等,还可以用于指示气温等信息。
具有常用应用程序图标的组件715可包括:拨号图标715A、信息图标715B、联系人图标715C和相机图标715D。具有常用应用程序图标的组件715中可包括更多或更少的应用程序的图标。
其他应用程序图标614可包括:运动健康图标714A、Google Maps图标714B、微信图标713C和设置图标714D。其他应用程序图标714中可以包括更多或更少的应用程序图标。
导航栏716可包括返回组件、主界面组件和呼出任务历史组件等用于系统导航的组件。
响应于作用在状态栏711上的用户操作,例如从状态栏往下滑的滑动操作,手机可以在主界面710上显示如图2B所示的下拉通知栏组件717。下拉通知栏组件717中可包括联动控制图标717A。联动控制图标717A可用于选择与第一设备交互的第二设备。下拉通知栏组件717中还可以包括更多的内容,例如WiFi信号图标、蓝牙图标、手电筒图标等。本申请实施例对下拉通知栏组件717中的内容不做限定。
响应于作用在联动控制组件717A的用户操作,例如触摸操作,手机可以自动搜索可以与手机进行交互的第二设备,并在主界面710上显示如图2C所示的联动设备选项组件718。联动设备选项组件718中可包括指示手机搜索到的第二设备的图标,例如,智能手表图标718A、平板图标718B和车载电脑图标718C。其中,联动设备选项组件718中图标指示的各第二设备可以为与手机建立有通信连接(如蓝牙连接)的设备。
响应于选择联动设备选项组件718中一个或多个第二设备的用户操作,手机可以将第一应用程序中用户界面的UI描述信息发送给这一个或多个第二设备。
本申请实施例对用于调出下拉通知栏组件717的用户操作不作限定。
进一步的,当检测到作用于智能手表图标718A的用户操作,例如触摸操作,手机可以确定第二设备为智能手表,并可在主界面710中显示如图2D所示的联动应用选项组件719。
联动应用选项组件719中可以包括系统应用719A和第三方应用719B。其中,系统应用719A中可包含主界面图标、拨号图标、信息图标和联系人图标等。第三方应用719B中可包含微信图标、运动健康图标和Google Maps图标等。响应于作用在联动应用选项组件719中一个或多个应用程序的图标的用户操作,手机可以将这一个或多个应用程序中用户界面的UI描述信息发送给在图2C中被选择的第二设备。
示例性的,当确定第二设备为智能手表,且检测到作用于主界面图标的用户操作,手机可以在显示如图2A所示的主界面710时,将主界面710的UI描述信息发送给智能手表。
当接收到主界面710的UI描述信息,智能手表可以显示如图2E所示的用户界面720。用户界面720中可以包括显示在主界面710上的应用程序的图标,如拨号图标721、微信图标722、Google Maps图标723和设置图标724等。智能手表可以响应于作用在用户界面720中任一个应用程序的图标的用户操作,并向手机反馈该用户操作。手机可以处理该用户操作指示的任务,并向智能手表发送更新的用户界面的UI描述信息。例如,响应于作用在拨号图标721的用户操作,智能手表可以向手机反馈拨号图标721上作用有用户操作。然后手机可以向智能手表发送如图3A所示的用于拨号的用户界面730的UI描述信息。智能手表可以解析用户界面730的UI描述信息,并更新用户界面720,显示如图3B所示的用户界面740。
不限于显示在主界面710上的应用程序的图标,用户界面720中还可以包括更多安装在手机上的其他应用程序的图标。
需要进行说明的是,手机可以多次重新选择或取消与手机进行交互的第二设备以及第一应用程序。在一种可能的实现方式中,当检测到作用在联动控制组件717A上的触摸操作,手机可以显示如图2C的联动设备选项组件718,并进一步显示如图2D所示的联动应用选项组件719。这样可以供用户重新选择第二设备以及第一应用程序。当检测到作用在联动控制组件717A上的长按操作,手机可以取消所有与第二设备的交互。不限于上述实现方式,本申请实施例还可通过其它方式重新选择或取消与手机进行交互的第二设备以及第一应用程序。
图3A~图3D示出了智能手表显示拨号应用的用户界面的示意图。
当确定第二设备为智能手表,且检测到作用于图2D中拨号图标的用户操作,则手机在显示如图3A所示的用户界面730时,可以向智能手表发送用户界面730的UI描述信息。智能手表可以显示如图3B所示的用户界面740。
如图3A所示,用户界面730中可包括历史通话记录组件731、拨号组件732、电话组件733、联系人组件734和收藏组件735。其中,历史通话记录组件731中可包括在当前时刻之前的通话记录,如9:00与Jane的通话记录等。响应于作用在任一通话记录的用户操作,例如触摸操作,手机可以向该通话记录对应的用户拨号。拨号组件732中可包括拨号键盘,可用于用户输入电话号码并拨出电话。电话组件733可用于手机显示如图3A所示的用户界面730。联系人组件734可用于显示保存在手机中的联系人的联系方式(如手机号码、邮箱等)。收藏组件735可用于显示收藏的联系人的联系方式。
用户界面730中可以包括更多或更少的组件,本申请实施例对此不作限定。
手机可以将用户界面730的UI描述信息发送给智能手表。智能手表可以对上述UI描述信息进行解析,并利用组件库实例化上述UI描述信息中的各组件,使得各组件的尺寸和位置与智能手表的屏幕适配。智能手表可以显示如图3B所示的用户界面740。用户界面740中可包括号码组件741、拨号组件743以及手机主界面组件742。其中:
号码组件741可用于显示用户输入的电话号码,例如“131********”。
拨号组件743中可包括拨号键盘,可用于用户输入电话号码并拨出电话。具体的,响应于作用于拨号键盘“1、2、3、4、5、6、7、8、9、*、0、#”的用户操作,智能手表可以在号码组件741上显示对应的符号。当检测到作用在用于拨出电话的组件上的用户操作时,智能手表可以向手机反馈该用户操作,并将号码组件741中的电话号码发送给手机。手机中用于移动通信的模块可以向基站发送指令来拨出电话。不限于上述方式,本申请实施例中智能手表还可以通过其它的方式拨出电话。
手机主界面组件742可用于在智能手表上显示手机的主界面。响应于作用在手机主界面组件742的用户操作,例如触摸操作,智能手表可以显示如图2E所示的用户界面720。该用户界面720中的组件可为智能手表根据主界面710的UI描述信息解析得到。这样,当显示用户界面720,智能手表可以根据检测到的用户操作来打开手机的主界面710中包含的任意一个应用程序,从而为用户提供相应的服务。
在本申请实施例中,智能手表中可包含有实体按键。当检测到作用于该实体按键的用户操作,智能手表可以显示如图6B所示的智能手表的主界面。本申请实施例对智能手表的主界面中包含的内容不作限定,且对智能手表显示智能手表的主界面的方式不作限定。
如图3C所示,当手机利用其中用于移动通信的模块向基站发送指令拨出电话时,手机可以显示用户界面750。用户界面750中可包含指示呼叫联系人名称的组件、录音组件、视频通话组件、挂断组件、扬声器组件等组件。其中,录音组件可以用于对通话进行录音。视频通话组件可用于将当前语音通话转换为视频通话。挂断组件可用于挂断电话。扬声器组件可用于将用于播放声音的模块由听筒切换为扬声器。本申请实施例对用户界面750中包含的组件不作限定。
当第二设备为智能手表,且第一应用程序为拨号应用时,手机可以将用户界面750的UI描述信息发送给智能手表。智能手表可以解析用户界面750的UI描述信息,并利用组件库实例化该UI描述信息中的各组件,使得各组件的尺寸和位置与智能手表的屏幕适配。智能手表可以显示如图3D所示的用户界面760。用户界面760中可包含指示呼叫联系人名称的组件、挂断组件和扬声器组件等。其中,挂断组件可用于挂断电话。扬声器组件可用于将用于播放声音的模块由听筒切换为扬声器。示例性的,响应于作用在用户界面760上挂断组件的用户操作,智能手表可以将该用户操作反馈给手机。然后手机可以利用其中用于移动通信的模块向基站发送指令来挂断电话。这样,用户可以通过智能手表上的挂断组件来控制手机以挂断电话。
用户界面760中还可以包含手机主界面组件742。这样,响应于作用在手机主界面组件742的用户操作,智能手表可以将用户界面760更新为如图2E所示的用户界面720。即用户可以利用手机主界面组件742从用户界面760直接跳转至用户界面720。
如图4A所示,响应于作用在主界面710中Google Maps图标714B的用户操作,手机可以显示用户界面770。用户界面770可包括搜索框组件771、定位组件772、清除组件773、开始导航组件774以及地图组件775。其中,搜索框组件771可用于通过文字或语音的方式输入需要查询的地址信息。定位组件772可用于对用户当前的位置进行定位,并显示在地图组件775中。清除组件773可用于对取消当前显示在地图组件775中的导航路径。开始导航组件774可用于按照当前显示在地图组件775中的导航路径开始为用户导航。地图组件775可用于显示地图信息、用户当前的位置信息以及导航路径等信息。本申请实施例对用户界面770中包含的组件不作限定。
当第二设备为智能手表,且第一应用程序为Google Maps时,手机可以将用户界面770的UI描述信息发送给智能手表。智能手表可以解析用户界面770的UI描述信息,并利用组件库实例化该UI描述信息中的各组件,使得各组件的尺寸和位置与智能手表的屏幕适配。智能手表可以显示如图4B所示的用户界面780。用户界面780可包括地图组件781和开始导航组件782。其中,地图组件781可用于显示地图信息、用户当前的位置信息以及导航路径等信息。开始导航组件782可用于按照当前显示在地图组件781中的导航路径开始为用户导航。示例性的,当检测到作用于用户界面780中开始导航组件782上的用户操作,智能手表可以向手机反馈该用户操作。手机可以根据该用户操作向智能手表发送更新的用户界面的UI描述信息。这样,智能手表就可以在与手机交互的过程中实现为用户导航的功能。
上述第二设备还可以为平板或车载电脑等设备,本申请实施例对此不作限定。
下面具体以接收到来电通知的应用场景为例来介绍多设备交互的方法。
图5示出了一种多设备交互的方法流程图。如图5所示,该方法包括步骤S101~S114。其中,步骤S105~S107为第二设备实例化组件的具体过程。步骤S109~S114为第二设备检测到用户操作后,第一设备和第二设备的交互过程。
S101、第一设备与第二设备建立通信连接。
第一设备可以通过有线或者无线等方式建立通信连接并进行通信。例如,第一设备与第二设备可以通过经典蓝牙、低功耗蓝牙或者近场通信等方式进行通信,本申请实施例对此不作限定。
S102、第一设备显示第一用户界面。
在第一设备与第二设备进行交互的应用场景中,例如第一设备接收到来电通知、短信或者微信消息等,第一设备安装有第一应用程序(如拨号应用、微信等)。第一设备可以运行第一应用程序来显示第一用户界面(如来电通知界面、短信用户界面等)。
示例性的,第一用户界面可以为如图6A所示的用户界面(来电通知界面)21。用户界面21中可包含第一组件210、头像组件211、联系人组件212、挂断组件213以及接听组件214。其中:
第一组件210是头像组件211、联系人组件212、挂断组件213和接听组件214的父组件。
响应于作用在挂断组件213上的用户操作,例如触摸操作,第一设备可以利用其中用于移动通信的模块向基站发送指令来挂断电话。
响应于作用在接听组件214上的用户操作,例如触摸操作,第一设备可以利用其中用于移动通信的模块向基站发送指令来接通电话。
用户界面21还可以包含更多或更少的组件,本申请实施例对此不作限定。
S103、第一设备向第二设备发送第一UI描述信息。
第一设备中包含有第一UI描述信息。该第一UI描述信息用于描述第一用户界面中各组件的属性。
当显示第一用户界面,第一设备可以向第二设备发送第一UI描述信息。
示例性的,当第一用户界面为如图6A所示的用户界面21时,第一UI描述信息中可包含对第一组件210、头像组件211、联系人组件212、挂断组件213和接听组件214的属性的描述。第一组件210的属性可以包括第一组件的类型。第一组件210的类型可以为线性布局或者相对布局等。第一组件210的属性还可以包括期望尺寸、期望位置以及外观(如背景、前景、边框线条)等。头像组件211、联系人组件212、挂断组件213和接听组件214的属性可以包括这些组件的类型。这些组件的类型可以为图标、文本框或者按钮等。头像组件211、联系人组件212、挂断组件213和接听组件214的属性还可以包括期望尺寸、期望位置以及外观(如背景、前景、边框线条)等。
在一些实施例中,第一设备向第二设备发送第一UI描述信息之前,第一设备可以先向第二设备发送询问指令。该询问指令可用于确定第二设备是否可以与第一设备进行交互,即第二设备是否可以接收并解析第一UI描述信息。当接收到来自第二设备的确定可以进行交互的信息,第一设备可以向第二设备发送第一UI描述信息。
示例性的,当第一设备(手机)接收到来电通知,并显示用户界面(来电通知界面)21,手机可以向第二设备(智能手表)发送询问指令。若智能手表中开启了来电通知功能,则智能手表可以向手机发送确定信息。该确定信息可指示智能手表同意与手机进行交互。然后手机可以向智能手表发送第一UI描述信息。若智能手表不可以接收并解析第一UI描述信息,例如,智能手表中的来电通知功能处于关闭状态,或者智能手表中包含有对可处理的业务的优先级的排序,而智能手表正在处理的业务的优先级高于接收并解析第一UI描述信息的优先级,智能手表可以不响应来自手机的询问指令。则在未收到智能手表对手机的询问指令的响应时,手机可以不向智能手表发送第一UI描述信息。
第一设备在向第二设备发送UI描述信息之前,还可以通过其他方式来确定第一设备和第二设备可以进行交互,本申请实施例对此不作限定。
S104、第二设备获取组件库。
组件库中包含有与各组件(如文本框、按钮等)对应的可执行的底层代码(如机器码、字节码等)。其中,可执行的底层代码可以包括指令部分和数据部分。第二设备可以根据组件的类型从组件库中获取与该组件对应的可执行的底层代码,并根据该组件的属性初始化可执行的底层代码的数据部分。当运行数据部分经过初始化的可执行的底层代码,第二设备可以在用户界面上绘制出该组件。
组件库可以通过预置的方式存储在第二设备中,还可以随UI描述信息一起发送到第二设备中。其中,第二设备可以接收到来自第一设备、云端(如内容服务器)等设备发送的UI描述信息。也即是说,第二设备可以从第一设备、云端等设备获取组件库。除了上述两种获取组件库的方式,第二设备还可以通过其他方式获取组件库,本申请实施例对此不作限定。
步骤S104与其他步骤之间没有先后顺序的关系,本申请实施例对步骤S104的发生时间不作限定。
S105、第二设备解析第一UI描述信息,确定第一用户界面中各组件的属性。
当接收到第一UI描述信息,第二设备可以运行服务程序。该服务程序可用于解析第一UI描述信息。
解析第一UI描述信息,第二设备可以确定第一用户界面中各组件的属性。示例性的,若第一用户界面为如图6A所示的用户界面21,则第二设备可以确定组件210为第一组件,其属性中的类型为线性布局,其属性中的背景色为白色等。第二设备还可以确定组件213为第二组件,其属性中的类型为按钮,其属性指示该按钮关联有图片等。
S106、第二设备根据第一用户界面中的第一组件的类型从组件库中获取第一组件的可执行的底层代码,并利用第一组件的可执行的底层代码与第一组件的属性,实例化第一组件。
组件库中包含对应多个组件的可执行的底层代码。当确定第一组件的类型(如线性布局、相对布局等),第二设备可以根据该第一组件的类型从组件库中获取与该第一组件对应的可执行的底层代码。
组件库中与组件对应的可执行的底层代码包含指令部分和数据部分。当确定第一组件的属性(如背景色为白色,边框线条为2px等),第二设备可以根据该第一组件的属性初始化可执行的底层代码的数据部分。这样,第二设备可以完成对该第一组件的实例化。并且经过实例化的第一组件具有第一UI描述信息中描述该第一组件的属性(如背景色为白色,边框线条为2px等)。
需要进行说明的是,对于最顶层的第一组件,第二设备可以根据第二设备的屏幕信息(如形状、尺寸、分辨率等),来确定上述最顶层的第一组件的尺寸和位置。上述最顶层的第一组件表示该第一组件不是任何其他组件的子组件,即该第一组件不包含于任何其他组件中。
此外,由于第一组件中包含有子组件,在实例化第一组件时,第二设备还可以根据第一组件的尺寸和位置以及预先设定的规则(如子组件的宽高尽量匹配父组件的宽高、子组件的宽高尽量匹配子组件中内容的宽高等),来确定其中各子组件的尺寸和位置。
这样,第二设备可以将第一用户界面上的组件以合适的尺寸显示在第二设备屏幕的合适的位置上。
S107、第二设备根据第一用户界面中的第二组件的类型从组件库中获取第二组件的可执行的底层代码,并利用第二组件的可执行的底层代码与第二组件的属性,实例化第二组件。
当确定第二组件的类型(如按钮、文本框等),第二设备可以根据该第二组件的类型从组件库中获取与该第二组件对应的可执行的底层代码。
当确定第二组件的属性(如背景色为白色,边框线条为2px等),第二设备可以根据该第二组件的属性初始化可执行的底层代码的数据部分。这样,第二设备可以完成对该第二组件的实例化。并且经过实例化的第二组件具有第一UI描述信息中描述该第一组件的属性(如背景色为白色,边框线条为2px等)。
S108、第二设备显示实例化的第一UI描述信息中的第一组件和第二组件。
当完成对第一UI描述信息中所有第一组件和所有第二组件的实例化,第二设备可以根据该UI视图树显示实例化第一UI描述信息中的第一组件和第二组件。该UI视图树可以指示第一UI描述信息中各组件之间的逻辑关系。
在一些实施例中,该UI视图树可以为某一棵已经存在的UI视图树的一个子节点,即该第一UI描述信息中的各组件可以显示在已经存在的用户界面的某一个位置处。这个已经存在的用户界面可以为任一个应用程序的用户界面或者桌面等。这一棵已经存在的UI视图树可以指示这个已经存在的用户界面上各组件之间的逻辑关系。
第二设备可以将该UI视图树作为一个子节点嵌入这一棵已经存在的UI视图树中,并在该子节点在这个已经存在的用户界面上的位置处显示第一UI描述信息中的各组件。
示例性的,第二设备上显示有音乐播放界面。该音乐播放界面中包含有暂停组件。响应于作用在该暂停组件的用户操作,第二设备可以向第一设备发送指示暂停组件上有用户操作的指令,并接收来自第一设备的UI描述信息。该UI描述信息中可包含播放组件。第一UI视图树可以指示该UI描述信息中各组件之间的逻辑关系。第二UI视图树可以指示已经存在的音乐播放界面中各组件之间的逻辑关系。则上述第一UI视图树可以作为一个子节点嵌入第二UI视图树。这样,第二设备可以在音乐播放界面上暂停组件所在的位置处显示播放组件,即将暂停组件替换为播放组件,而该音乐播放界面上其他的组件仍显示在该音乐播放界面上。
在另一些实施例中,该UI视图树可以是一棵单独的UI视图树,即第一UI描述信息中各组件可以单独显示在一个新的用户界面上。
第二设备可以单独创建一个新的用户界面,并在这一个新的用户界面上显示第一UI描述信息中的各组件。
示例性的,如图6B所示,第二设备(智能手表)上显示有用户界面30。用户界面30可包含第一组件301、天气组件301A、运动数据组件301B和时间组件301C。其中,第一组件301是天气组件301A、运动数据组件301B和时间组件301C的父组件。天气组件301A可指示当前天气和当前温度。运动数据组件301B可指示用户的消耗热量、步数以及心率信息。时间组件301C可指示时刻信息、日历信息等。本申请实施例对用户界面30中包含的组件不作限定。当第一设备(手机)接收到来电通知,手机可显示如图6A所示的用户界面21,并向智能手表发送UI描述信息。智能手表可以接收并解析该UI描述信息。当实例化该UI描述信息中的各组件,智能手表可以根据UI视图树在用户界面上显示各组件。该UI视图树可以指示该UI描述信息中各组件之间的逻辑关系。由于可以确定该UI视图树为一棵单独的UI视图树,智能手表可以创建一个新的用户界面,如图6C所示的用户界面31。这样,智能手表可以在用户界面31上显示这一棵UI视图树中的各组件。
S109、第二设备检测到作用在组件的上的用户操作。
第一UI描述信息中的各组件可以响应输入事件。上述输入事件可以为作用在组件上的用户操作等。
当在用户界面上显示第一UI描述信息中的各组件,第二设备可以检测作用在组件上的用户操作,例如触摸操作。
在一些实施例中,当检测到用户操作,例如作用在第二设备屏幕上的触摸操作,第二设备可以确定与该用户操作关联的组件。具体的,第二设备可以先确定该触摸操作作用在屏幕上的屏幕坐标,并将该屏幕坐标转换为用户界面上的组件坐标,从而确定触摸操作作用的组件,将该用户操作与组件进行关联。本申请实施例对确定与用户操作关联的组件的方式不作具体限定。
示例性的,若第一用户界面为如图6A所示的用户界面21,第一UI描述信息可以描述用户界面21中各组件的属性。当实例化该第一UI描述信息中的各组件,第二设备(智能手表)可以显示如图6C所示的用户界面31。用户界面31中包含第一组件310、联系人组件311、挂断组件312和接听组件313。
当用户触摸智能手表屏幕上挂断组件312所在的位置时,智能手表可以获取该用户操作作用在屏幕上的屏幕坐标。而用户界面31上的各组件可具有在该用户界面31上的组件坐标。智能手表可以将上述用户操作的屏幕坐标转换为用户界面31上的组件坐标,从而确定上述用户操作关联的组件为挂断组件312。
S110、第二设备向第一设备发送指令。
当确定与用户操作关联的组件,第二设备可以向第一设备发送指令。该指令可以指示第二设备检测到的用户操作。
示例性的,第二设备可以向第一设备发送检测到的用户操作的屏幕坐标、用户输入的文字或者音频等内容。如图6C所示,当第二设备(智能手表)检测到作用在用户界面31中挂断组件312的用户操作,例如触摸操作,智能手表可以向手机发送该触摸操作在智能手表的屏幕上作用的屏幕坐标。
或者,第二设备可以向第一设备发送与检测到的用户操作关联的组件的信息。如图6C所示,当第二设备(智能手表)检测到作用在用户界面31中挂断组件312的用户操作,例如触摸操作,智能手表可以通过步骤S109中确认与用户操作关联的组件的方式,确定挂断组件312中作用有用户操作。进一步的,智能手表可以向手机发送用于指示挂断组件312上作用有用户操作的指令。该指令可指示手机在移动通信网络中将电话挂断。
本申请实施例对第二设备发送给第一设备的指令不作限定,除了上述用于指示被用户操作的组件的信息、第二设备检测到的用户操作的屏幕坐标、用户输入的文字、音频等内容,还可以为其他。
S111、第一设备显示第二用户界面。
当接收到来自第一设备的指令,第一设备可以响应该指令并显示第二用户界面。
示例性的,如图6A和图6D所示,当第一设备(手机)接收到来电通知,并且接收到来自第二设备(智能手表)的指示挂断电话的指令,手机可以显示用户界面22。用户界面22可包括第一组件210、头像组件211、联系人组件212和通话结束组件217。其中,第一组件210为头像组件211、联系人组件212和通话结束组件217的父组件。通话结束组件217可指示电话已挂断。
此外,手机还可利用手机中用于移动通信的模块向基站发送指令挂断电话的指令,从而在移动通信网络中将电话挂断。手机可以先在移动通信网络中将电话挂断,再显示如图6D所示的用户界面22,也可以先显示如图6D所示的用户界面22再在移动通信网络中将电话挂断,还可以在移动通信网络中将电话挂断的同时显示如图6D所示的用户界面22。本申请实施例对此不作限定。
S112、第一设备向第二设备发送第二UI描述信息。
第二UI描述信息可用于描述第二用户界面中各组件的属性。
示例性的,当第二设备(智能手表)检测到作用在如图6C所示的挂断组件312上用户操作,除了向第一设备(手机)发送挂断电话的指令,智能手表还可以显示指示电话已挂断的用户界面(如图6E所示的用户界面32)。而智能手表中可以不安装拨号应用,那么智能手表可能无法根据检测到的用户操作来更新用户界面。但该智能手表可以与手机进行交互。手机中存储有对应各用户界面的UI描述信息,手机可以向智能手表发送第二UI描述信息。该第二UI描述信息可以描述电话已挂断的用户界面中的各组件。这样,智能手表就可以更新用户界面,显示电话已挂断的用户界面。
需要进行说明的是,步骤S111和步骤S112之间没有先后顺序。
S113、第二设备解析第二UI描述信息,并利用组件库实例化第二UI描述信息中的第一组件和第二组件。
当接收到第二UI描述信息,第二设备可以运行服务程序,来解析第二UI描述信息。第二UI描述信息中的组件可以包括第一组件和第二组件。第二设备可以从组件库中获取与组件对应的可执行的底层代码,来实例化第二UI描述信息中的第一组件和第二组件。
示例性的,若第二UI描述信息描述如图6D所示的用户界面22中的各组件,则第二UI描述信息中可包含对第一组件210,头像组件211、联系人组件212和通话结束组件217的属性的描述。其中头像组件211、联系人组件212和通话结束组件217包含于第一组件210中,为第二组件。
第二设备解析第二UI描述信息,并利用组件库实例化第一组件和第二组件的具体实现过程可以参考步骤S105~S107,这里不再赘述。
S114、第二设备显示实例化的第二UI描述信息中的第一组件和第二组件。
当实例化第二UI描述信息中的各组件,第二设备可以根据UI视图树显示第二UI描述信息中的各组件。该UI视图树可以指示第二UI描述信息中各组件之间的逻辑关系。该UI视图树可以作为一个子节点嵌入一棵已经存在的UI视图树中,还可以作为一棵单独的UI视图树。
示例性的,若第二UI描述信息描述如图6D所示的用户界面22中的各组件,则第二设备(智能手表)在实例化第二UI描述信息中的各组件后,可以显示如图6E所示的用户界面32。用户界面32可以包括第一组件310、联系人组件311和通话结束组件314。其中,第一组件310是联系人组件311和通话结束组件314的父组件。通话结束组件314可指示电话已挂断。
具体的显示方法可以参考步骤S108,这里不再赘述。
根据上述第一设备与第二设备交互的方法可以看出,第二设备可以不安装第一应用程序(如拨号应用、播放音乐的应用程序等),而通过接收和解析第一应用程序中用户界面的UI描述信息,即可为用户提供第一应用程序中的服务。这样可以有效减少开发成本。第二设备可以运行预置的服务程序来解析UI描述信息,该UI描述信息是对用户界面中各组件的描述,而不是可执行的程序。这样不仅降低了对第一设备与第二设备进行数据传输的带宽的要求,而且减少了第二设备直接下载可执行的程序带来的不可控的安全隐患。此外,第二设备在解析UI描述信息时,可以根据第二设备自己的屏幕信息来确定UI描述信息中各组件在第二设备用户界面上的尺寸和位置。这样,不仅减少了屏幕不适配的问题,而且一套UI描述信息可以适用于多种设备。由于第二设备可以利用组件库中可执行的底层代码来绘制各组件,这就降低了对第二设备处理能力的要求,适用于包含有轻量级设备的应用场景。
这里具体以接收到来电通知的应用场景为例来说明第二设备实例化组件的一种实现方法。
当第一设备(手机)接收到来电通知,手机可以向第二设备(智能手表)发送第一UI描述信息。该第一UI描述信息可以描述如图6A所示的用户界面21中的各组件。示例性的,该第一UI描述信息具体可以为:
图7示出了一种第二设备实例化组件的方法流程图。如图7所示,该方法包括步骤S201~S207。
S201、第二设备识别UI描述信息中的第一组件。
以UI描述信息为上述第一UI描述信息进行说明。
第二设备(智能手表)解析该第一UI描述信息,可以先识别第一UI描述信息中的第一组件(如组件210)。
若识别到第一组件,智能手表可以执行步骤S202。否则,智能手表执行步骤S205。
显然,根据上述第一UI描述信息,智能手表可以识别到第一组件210,并执行步骤S202。
S202、第二设备根据解析得到的第一组件的属性,利用组件库实例化第一组件。
第二设备解析第一UI描述信息,可以得到第一组件的属性。由上述第一UI描述信息对第一组件210的描述,可以确定第一组件210的属性中的类型为线性布局,以及第一组件210的属性中的期望尺寸以及其内部包含的子组件的排布方式。第二设备可以根据第一组件210的属性中的类型从组件库中获取与线性布局对应的可执行的底层代码,并利用第一组件的属性初始化可执行的底层代码的数据部分。这样,第二设备就可以实例化第一组件210,并确定其内部的子组件在第二设备用户界面上的尺寸和位置。
在上述确定第一组件内部的子组件在第二设备用户界面上的尺寸和位置的过程中,若该第一组件为UI描述信息中最顶层的第一组件,即该第一组件不包含于其他组件中,则第二设备可以结合屏幕的尺寸来确定该第一组件的尺寸以及该第一组件的子组件在第二设备用户界面上的尺寸和位置。
需要进行说明的是,当检测到第二设备的屏幕为圆形时,第二设备可以按照如图8所示的方法流程图来确定第一组件的尺寸以及该第一组件的子组件的尺寸和位置。该方法包括步骤S301~S304。
S301、第二设备将第一组件的子组件的初始margin值设置为0。
margin表示子组件的外边距,即子组件的各边与第一组件的各边之间的距离。其中,margin可以包括上边距、下边距、左边距和右边距。
S302、第二设备计算各子组件的最大可能宽度maxWidth和最大可能高度maxHeight。
第二设备可以根据各子组件中包含的内容的宽高,以及子组件的期望尺寸来计算各子组件的maxWidth和maxHeight。这样,第二设备可以保证宽度为maxWidth和高度为maxHeight的子组件能容纳其包含的内容。
S303、根据子组件的maxWidth和maxHeight,第二设备计算第一组件的宽度measuredWidth和高度measuredHeight。
根据子组件的maxWidth和maxHeight,并按照预先设定的规则,例如,第一组件的尺寸尽量匹配屏幕的尺寸,第一组件的尺寸尽量匹配子组件的尺寸等,第二设备可计算第一组件的measuredWidth和measuredHeight。该measuredWidth和measuredHeight即为第一组件最终的尺寸。该最顶层的第一组件为UI描述信息中最顶层的第一组件。
S304、第二设备根据屏幕的尺寸和第一组件的尺寸来调整各子组件的margin值,并确定各子组件的尺寸和位置。
当确定了第一组件最终的尺寸,第二设备需要计算该第一组件的子组件的尺寸和位置。具体的,子组件的尺寸和位置可以利用子组件的margin值来确定。第二设备可以根据公式Inset=0.146*max[min(measuredWidth,screenWidth),min(measuredHieght,screenHieght)]得到Inset的值,并将该Inset的值设置为新的margin值。其中,screenWidth和screenHieght分别表示屏幕的宽和高。
根据该新的margin的值,第二设备可以确定各子组件的尺寸和位置。
示例性的,第一组件210不包含于其他组件内,为最顶层的第一组件。第二设备(智能手表)在实例化第一组件210时,可以根据上述步骤S301~S304确定第一组件210的尺寸和位置以及第一组件210的子组件211~214在智能手表用户界面上的尺寸和位置。这样,智能手表可以显示如图6C所示的第一组件310以及第一组件的子组件311~313。第一组件310可为经过实例化之后的第一组件210。组件311可为经过实例化之后的联系人组件212。组件312可为经过实例化之后的挂断组件213。组件313可为经过实例化之后的接听组件214。组件310~313的尺寸、位置与智能手表的屏幕适配。
需要进行说明的是,上述确定各组件的尺寸和位置均表示确定各组件在第二设备用户界面上的尺寸和位置。
由如图8所示的方法流程图可以看出,第二设备在实例化UI描述信息中最顶层的第一组件时,可以结合第二设备的屏幕的尺寸,来确定该第一组件的尺寸以及该第一组件的子组件的尺寸和位置。这样,可以使该第一组件及其子组件与第二设备的屏幕适配,并且可以使得这同一套UI描述信息适用于多种不同的设备。
当第二设备的屏幕为圆形时,除了根据图8所示的方法流程图来确定第一组件的尺寸和第一组件的子组件的尺寸和位置,第二设备还可以根据其他使得各组件适配圆形的屏幕的方法来确定各组件的尺寸和位置,本申请实施例对此不作限定。
当检测到第二设备的屏幕为其他形状(如矩形),第二设备可以根据现有技术中使得各组件适配该其他形状的屏幕的方法来确定各组件的尺寸和位置,本申请实施例对此不作赘述。
此外,在上述确定第一组件的子组件的尺寸和位置的过程中,若第一组件不是UI描述信息中最顶层的第一组件,即该第一组件是某一个第一组件的子组件。则在实例化上述某一个第一组件时,第二设备已经确定了该第一组件的尺寸和位置。在实例化该第一组件时,第二设备可以确定该第一组件的子组件的尺寸和位置。具体的,根据该第一组件的尺寸、该第一组件的子组件期望的尺寸以及预先设定的规则(如子组件的宽高尽量匹配父组件的宽高、子组件的宽高尽量匹配子组件中内容的宽高),第二设备可以确定该第一组件的子组件的尺寸和位置。
S203、第二设备识别UI描述信息中的第二组件。
仍以UI描述信息为上述第一UI描述信息进行说明。
当根据步骤S202对第一组件210进行实例化之后,第二设备(智能手表)可以进一步识别第一UI描述信息中第一组件210的各个子组件。若能识别到还未被实例化的组件,智能手表可以执行步骤S204。当智能手表未能识别到还未被实例化的组件,即该第一组件210的子组件均已被实例化,第二设备可以返回步骤S201,识别第一UI描述信息中的其他第一组件。
S204、第二设备根据解析得到的第二组件的属性,利用组件库实例化第二组件。
当识别到步骤S202中的第一组件的子组件,第二设备可以实例化这些子组件中为第二组件的子组件。即第二设备可以实例化内部不包含有其他组件的子组件。对于为第一组件的子组件,即内部包含有其他组件的子组件,第二设备可以在实例化所有为第二组件的子组件后,根据步骤S201和步骤S202对为第一组件的子组件进行实例化,并进一步根据步骤S203和步骤S204对这些为第一组件的子组件内部包含的其他组件进行实例化。
具体的,第二设备可以根据子组件的类型,从组件库中确定与该子组件对应的可执行的底层代码,并利用该组件的属性相关的数据初始化可执行的底层代码的数据部分。当运行经过初始化的可执行的底层代码,第二设备可以实例化该子组件,在经过步骤S202确定的该子组件的位置上显示该子组件。该子组件具有UI描述信息中描述该子组件的属性。例如,背景色为灰色、边框线条为黑色且粗细为2px的按钮。
当完成对一个子组件的实例化,第二设备可以执行步骤S203,识别包含这一个子组件的第一组件内部的其他未被实例化的子组件。第二设备可以循环执行步骤S203和步骤S204,直到该第一组件中所有为第二组件的子组件均被实例化。然后第二设备可以执行步骤S201,来识别UI描述信息中的其他第一组件。若未能识别到其他第一组件,则可以表示第二设备已将所有识别到的第一组件和第二组件均进行了实例化。这样,第二设备可以执行步骤S205。
示例性的,若UI描述信息为上述第一UI描述信息,则第二设备(智能手表)可以先识别到头像组件211,并对该头像组件211进行实例化。该头像组件211的类型为图标,属性中包括期望尺寸以及关联的图片信息。智能手表可以根据图标这一类型从组件库中获取与图标对应的可执行的底层代码,并利用头像组件211的属性初始化可执行的底层代码中的数据部分。这样,智能手表就完成了对头像组件211的实例化。
然后,智能手表可以返回步骤S203继续识别第一组件210中的子组件,如联系人组件212、挂断组件213和接听组件214。智能手表可以按照实例化头像组件211的方法对联系人组件212、挂断组件213和接听组件214进行实例化。
当未能识别到第一组件210中还未被实例化且为第二组件的子组件时,即第一组件210中为第二组件的子组件均被实例化,智能手表可以执行步骤S201,来识别第一UI描述信息中是否还存在其他未被实例化的第一组件。其中,上述未被实例化的第一组件可以包括任意第一组件中为第一组件的子组件。
由于上述第一UI描述信息中没有其他第一组件,智能手表可以执行步骤S205。
S205、第二设备判断UI描述信息是否解析完成。
当第二设备对UI描述信息中的各第一组件和各第二组件进行了实例化,即第二设备识别不到未被进行实例化的组件,第二设备可以判断UI描述信息是否解析完成。
若UI描述信息解析完成,则第二设备可以确定该UI描述信息中各组件之间的逻辑关系,并执行步骤S206。
若UI描述信息解析未完成,则第二设备可以执行步骤S207,对UI描述信息作解析失败处理。其中,当UI描述信息中包含不可识别项,例如,未定义的标签或者不符合UI描述格式的UI描述信息等,第二设备不能完成UI描述信息的解析。
S206、第二设备显示实例化的第一组件和第二组件。
第二设备显示实例化的第一组件和第二组件的方法可以参考步骤S108,这里不再赘述。
需要进行说明的是,在一些实施例中,在实例化UI描述信息中的各组件或者在显示UI描述信息中的各组件之前,第二设备可以根据预先设定的过滤规则,将UI描述信息中的一部分组件过滤掉。第二设备可以在用户界面上显示UI描述信息中未被过滤掉的组件。上述过滤规则可以用于过滤对于各种应用场景下不重要的组件。例如,不能响应输入事件的组件或者未绑定数据的组件等。本申请实施例对上述过滤规则不作具体限定。
示例性的,上述第一UI描述信息中包含第一组件210、头像组件211、联系人组件212、挂断组件213和接听组件214。当第二设备(智能手表)接收到第一UI描述信息,智能手表可以结合自己屏幕尺寸的大小,根据过滤规则过滤掉头像组件211。这样,智能手表可以显示如图6C所示的用户界面31。用户界面31中显示有第一组件210、联系人组件212、挂断组件213和接听组件214。
S207、第二设备对UI描述信息作解析失败处理。
上述解析失败处理可以为,第二设备在用户界面上显示解析失败的信息等。本申请实施例对解析失败处理的方法不作具体限定。
在另一种实现方式中,第二设备实例化UI描述信息中各组件的顺序可以为该UI描述信息中描述这些组件的顺序。以图6A所示的用户界面21的UI描述信息为例进行说明。该UI描述信息中对这些组件进行描述的先后顺序分别为:第一组件210、头像组件211、联系人组件212、挂断组件213和接听组件214。那么,第二设备可以按照上述先后顺序实例化这些组件,并在用户界面上显示。
在另一种实现方式中,第二设备实例化UI描述信息中各组件的顺序可以由该UI描述信息中各组件的优先级顺序决定。其中,UI描述信息中各组件的优先级顺序可以为预先设定的。仍以图6A所示的用户界面21的UI描述信息为例进行说明。该UI描述信息中各组件的优先级顺序可以为:第一组件210的优先级最高;挂断组件213和接听组件214的优先级相同,且低于第一组件210的优先级;联系人组件212的优先级低于挂断组件213和接听组件214的优先级;头像组件211的优先级低于联系人组件212的优先级。那么,第二设备可以先实例化第一组件210,然后实例化挂断组件213和接听组件214,再实例化联系人组件212,最后实例化头像组件,并按照上述实例化的顺序在用户界面上逐一显示这些组件。其中,若第二设备的屏幕大小有限,第二设备可以根据自身屏幕的大小显示优先级顺序较高的组件。如图6C所示,由于第二设备(智能手表)的屏幕较小,第二设备可以不在用户界面上显示上述优先级最低的头像组件211。
本申请实施例对UI描述信息中各组件的优先级顺序不作限定。
需要进行说明的是,上述根据UI描述信息中描述组件的顺序和根据UI描述信息中各组件的优先级顺序来决定实例化组件的顺序的实现方式中,第二设备可以判断UI描述信息是否解析完成,然后根据解析完成的结果决定是进行解析失败处理还是在用户界面上显示经过实例化的组件。上述判断UI描述信息是否解析完成、解析失败处理和显示经过实例化的组件的具体实现过程可以参考图7所示的方法实施例中的步骤S205~S207,这里不再赘述。
下面介绍UI描述信息中的组件可以适配设备屏幕的实施例。
当检测到作用于主界面710中联系人图标715C的用户操作,第一设备(手机)可以显示如图9A所示的用户界面810。用户界面810中可包括联系人列表组件811以及字母索引组件812。其中,联系人列表组件811中可指示包含存储在手机中的各联系人的联系方式(如电话号码、邮件)。各联系人的联系方式可以根据联系人名称的首字母按照字母表的顺序进行排列。字母索引组件812中可包含字母表的26个字母,可以用于根据其中一个字母查找名称的首字母为这一个字母的联系人。字母索引组件812中的各字母可以按照字母表的顺序竖直排列。本申请实施例对用户界面810中包含的组件不作限定。
手机可以向第二设备(智能手表)发送用户界面810的UI描述信息。智能手表的屏幕为圆形。当接收到用户界面810的UI描述信息,智能手表可以按照图7和图8所示的方法流程图解析该UI描述信息,并显示如图9B所示的用户界面820。用户界面820中可包括字母索引组件821和联系人查看组件822。其中,字母索引组件821中可包含字母表的26个字母,可以用于根据其中一个字母查找名称的首字母为这一个字母的联系人。例如,响应于作用在字母索引组件821中字母B的用户操作,智能手表可以在联系人查看组件822中显示联系人“爸爸”。进一步的,当检测到作用于联系人查看组件822中“爸爸”的用户操作,智能手表可以在联系人查看组件822中显示联系人“爸爸”的联系方式(如电话号码、邮件)。
由于智能手表的屏幕为圆形,智能手表可以将字母索引组件821中的各字母按照环形排列的方式显示在用户界面820上。不限于上述环形排列的方式,字母索引组件821中的各字母还可以按照其他与智能手表屏幕适配的方法显示在用户界面820上。
当检测到作用于主界面710中运动健康图标714A的用户操作,第一设备(手机)可以显示如图10A所示的用户界面830。用户界面830中可包括户外跑步组件831、登山组件832、自行车组件833、游泳组件834以及步行组件835。其中,上述户外跑步组件831、登山组件832、自行车组件833、游泳组件834以及步行组件835可以分别用于查看用户户外跑步、登山、自行车运动、游泳以及步行的锻炼记录。这些组件可以按照竖直列表的排列方式显示在用户界面830中。用户界面830中可包含更多或更少的指示用户的锻炼记录的组件,本申请实施例对此不作限定。
手机可以向第二设备(智能手表)发送用户界面830的UI描述信息。智能手表的屏幕为圆形。当接收到用户界面830的UI描述信息,智能手表可以按照图7和图8所示的方法流程图解析该UI描述信息,并显示如图10B所示的用户界面840。用户界面840中可包括户外跑步组件841以及登山组件842等指示用户锻炼记录的组件。
由于智能手表的屏幕为圆形,智能手表可以将户外跑步组件841以及登山组件842等组件按照弧形列表的排列方式显示在用户界面840中。不限于上述弧形列表的排列方式,各指示用户锻炼记录的组件还可以按照其他与智能手表屏幕适配的方法显示在用户界面840上。
第一设备可以将一个应用场景中涉及的多套UI描述信息一次性全部发送给第二设备。
在一个多设备交互的应用场景中可能涉及到多套UI描述信息。例如,在接收到来电通知的应用场景中,第一设备向第二设备发送的UI描述信息至少可以包括与用户界面21和用户界面22对应的第一UI描述信息和第二UI描述信息。
在一些实施例中,第一设备可以将一个交互应用场景中涉及的多套UI描述信息一次性全部发送给第二设备。当检测到输入事件并更新用户界面时,第二设备可以在存储的多套UI描述信息中搜索,确定与更新的用户界面对应的UI描述信息。
仍以接收到来电通知的应用场景为例进行说明。
如图6A和图6D所示,当接收到来电通知,第一设备(手机)可以显示用户界面21。手机可以向第二设备(智能手表)发送在接收到来电通知的应用场景中涉及的全部UI描述信息。这全部UI描述信息可以包括与用户界面21对应的第一UI描述信息和与用户界面22对应的第二UI描述信息等。
当接收到全部UI描述信息,智能手表可以从中搜索第一UI描述信息。智能手表可以运行服务程序,解析第一UI描述信息,在如图6C所示的用户界面31上显示第一UI描述信息所描述的组件。
当检测到输入事件,智能手表可以确定与该输入事件关联的组件。例如,当确定与输入事件关联的组件为挂断组件312,智能手表可以从全部UI描述信息中搜索第二UI描述信息。第二UI描述信息可以描述如图6D所示的指示挂断电话的用户界面22中的各组件。此外,智能手表还可以向手机反馈挂断电话的指令。当接收到该挂断电话的指令,手机可以利用用于移动通信的模块向基站发送指令来挂断电话。
由上述实施例可以看出,第二设备可以存储某一个应用场景中涉及的全部UI描述信息,并在检测到输入事件时,根据与该输入事件关联的组件自动搜索UI描述信息。这样,对第二设备与第一设备的通信连接要求不高,减少了因为第一设备与第二设备之间的通信连接断开而导致的第二设备无法及时响应输入事件的情况。
第一设备可以将一个应用场景中涉及的多套UI描述信息分次发送给第二设备。
在一些实施例中,第一设备可以将一个应用场景中涉及到多套UI描述信息分次发送给第二设备。即当第二设备检测到输入事件并根据该输入事件更新用户界面时,第一设备可以将与更新的用户的界面对应的那一套UI描述信息发送给第二设备。
仍以接收到来电通知的应用场景为例进行说明。
如图5中所示的多设备交互的方法流程图所示,在步骤S102和步骤S103中,当第一设备(手机)接收到来电通知,手机可以显示如图6A所示的用户界面21,并向第二设备(智能手表)发送第一UI描述信息。该第一UI描述信息可用于描述用户界面21中各组件的属性。当接收到第一UI描述信息,智能手表可以显示如图6C所示的用户界面31。
当检测到作用在用户界面31中果断组件312上的用户操作,智能手表可以向手机发送指示挂断电话的指令。然后在步骤S111和步骤S112中,手机可以显示如图6D所示的用户界面22,利用手机中用于移动通信的模块向基站发送挂断电话的指令,并向智能手表发送第二UI描述信息。该第二UI描述信息可用于描述用户界面22中各组件的属性。当接收到第二UI描述信息,智能手表可以显示如图6E所示的用户界面32。
由上述实施例可以看出,在第一设备与第二设备交互的应用场景中,第二设备可以不存储全部UI描述信息,只需要解析来自第一设备的UI描述信息。并且第二设备可以只向第一设备反馈检测到的输入事件,不用实际处理业务。这样,对第二设备的存储空间和处理能力要求不高,可以减少第二设备的负担。
第一设备可以响应用户操作选择进行交互的第二设备。
在一些实施例中,当第一设备运行第一应用程序,且检测到与被用户选择的第二设备进行交互的指令时,第一设备可以向被用户选择的第二设备发送第一应用程序中用户界面的UI描述信息。
图11A~图11C示出了一些多设备交互的应用场景示意图。其中,第一设备为手机,第二设备为智能手表或者平板。
当运行应用程序音乐播放器时,手机可以显示如图11A所示的音乐播放界面。该音乐播放界面可以包括第一组件410,第一组件410中可以包含联动控制组件411、歌曲信息组件412、专辑封面组件413、歌词组件414、进度条组件415、播放模式组件416、上一首组件417、暂停组件418、下一首组件419和音量组件4110。
其中,联动控制组件411可用于手机与第二设备进行交互。响应于作用在联动控制组件411的用户操作,例如触摸操作,手机可以搜索与手机建立有通信连接的设备,并显示如图11B所示的用户界面。该用户界面包含有第一组件420。第一组件420中可以包含指示设备选项的组件,例如智能手表组件421和平板组件422。第一组件420中包含的设备选项对应的设备为与手机建立有通信连接的设备。
响应于作用在智能手表组件421上的用户操作,例如触摸操作,手机可以向智能手表发送UI描述信息。该UI描述信息中可以包含有对联动控制组件411、歌曲信息组件412、专辑封面组件413、歌词组件414、进度条组件415、播放模式组件416、上一首组件417、暂停组件418、下一首组件419和音量组件4110的属性的描述。
当接收到UI描述信息,智能手表可以按照图5所示的步骤S105~S108,解析UI描述信息,利用组件库实例化UI描述信息中的组件,并在用户界面上显示如图11C所示的各组件。其中图11C所示的用户界面中可包含歌曲信息组件431、上一首组件432、暂停组件433、下一首组件434、播放模式组件435和音量组件436。
本申请实施例对上述音乐播放界面不作限定,音乐播放界面还可以包含更多或更少的组件。
上述第一设备响应用户操作选择进行交互的第二设备的实施例可以与前述图5所示的方法实施例相结合。例如,在图5所示的方法实施例中,当第一设备执行步骤S102,显示第一用户界面,第一设备可以在接收到用于确定第二设备的用户操作后,执行步骤S103,向该第二设备发送第一UI描述信息。该第一UI描述信息用于描述第一用户界面中各组件的属性。
第一设备可以智能选择进行交互的第二设备。
在一些实施例中,当第一设备运行第一应用程序,且检测到多个设备与第一设备建立有通信连接,第一设备可以根据与第一设备之间距离的远近或者这多个设备之间的优先级顺序等方式来确定与之进行交互的第二设备。也即是说,第一设备可以从多个与之建立有通信连接的设备中选择距离最近的一个设备作为第二设备,然后向该被选择的第二设备发送第一应用程序中用户界面的UI描述信息。或者,多个与第一设备建立有通信连接的设备之间有优先级顺序。第一设备可以选择优先级最高的设备作为第二设备,然后向该被选择的第二设备发送第一应用程序中用户界面的UI描述信息。
示例性的,在用户开车收到来电通知的应用场景中,第一设备可以为手机。其中,智能汽车和用户佩戴的智能手表均与手机建立有通信连接,且在该应用场景中,智能汽车的优先级高于智能手表的优先级。当手机收到来电通知,手机可以向优先级更高的智能汽车发送如图6A所示的来电通知界面的UI描述信息。智能汽车可以解析该来电通知界面的UI描述信息,并在车载电脑上显示该UI描述信息中的各组件。并且,车载电脑可以响应用户操作(例如触摸操作,声控操作)来接听电话。车载电脑响应用户操作来接听电话的实现方式可以参考图5所示方法实施例中的步骤S109~S114。
上述第一设备智能选择进行交互的第二设备的实施例可以与前述图5所示的方法实施例相结合。例如,在图5所示的方法实施例中,当第一设备执行步骤S102,显示第一用户界面,第一设备可以根据与第一设备之间距离的远近或者这多个设备之间的优先级顺序等方式来确定与之进行交互的第二设备,然后执行步骤S103,向该第二设备发送第一UI描述信息。该第一UI描述信息用于描述第一用户界面中各组件的属性。
本申请实施例对上述第一设备确定进行交互的第二设备的方式不作限定,除了通过接收用于确定第二设备的用户操作的方式或上述智能选择的方式,第一设备还可以通过其他方式确定进行交互的第二设备。
下面介绍一种开发多设备交互系统的结构示意图。
图12示出了一种开发多设备交互系统的结构示意图。如图12所示,该开发多设备交互系统的结构中可以包括工作站510、云端520、第一设备530和第二设备540。其中:
工作站510是开发人员(如设计师、程序员)的开发环境。工作站可以包括模拟器511和设计器512。
设计器512可用于生成UI描述信息。设计器512可以包含文本编辑器以及可视化拖拽组件。上述文本编辑器可用于通过编写文本的方式生成UI描述信息。该UI描述信息符合UI描述格式。上述可视化拖拽组件可被拖拽、更改背景色和边框线条等属性,以可视化用户界面的方式生成UI描述信息。
即开发人员可以利用设计器以编写文本的方式或拖拽可视化拖拽组件的方式,来生成UI描述信息。
除了上述编写文本的方式和拖拽可视化拖拽组件的方式,设计器512还可以通过其他方式生成UI描述信息。例如,设计器512可以通过接收开发人员输入的用户界面的设计稿的方式,生成UI描述信息。本申请实施例对此不作限定。
当生成UI描述信息,设计器512可以将UI描述信息发送给模拟器511。
模拟器511可用于模拟目标设备(如第一设备或第二设备)的输出模块和输入模块。例如,模拟器511可以模拟智能手表的屏幕以及用于响应输入事件(如用户的触摸操作、输入文本操作)的输入模块(如触摸传感器、键盘等)。
模拟器511可以提供与目标设备相同的二进制接口。即开发人员可以将模拟器视为目标设备,以检验UI描述信息中的各组件在目标设备屏幕上显示的结果能否达到预期效果,以及当检测到输入事件时,与输入事件关联的组件是否能进行响应。
模拟器511可包含服务程序511a和虚拟机/脚本引擎511b。
其中,服务程序511a可用于加载解析UI描述信息。当接收到UI描述信息,模拟器511可运行服务程序511a,得到UI描述信息中各组件的属性。根据组件的属性中的类型,模拟器511可以在组件库中获取与组件对应的可执行的底层代码,并利用组件的属性初始化可执行的底层代码的数据部分。当运行经过初始化的可执行的底层代码,模拟器511可以实例化各组件,并根据各组件之间的逻辑关系在用户界面上显示UI描述信息中的各组件。
上述组件库可以为预置在模拟器中,或者,可以随UI描述信息一起发送到模拟器中。本申请实施例对模拟器获取组件库的方式不作限定。
当检测到作用在模拟器511上的输入事件,模拟器511可以运行服务程序,来确定与该输入事件关联的组件,并搜索与更新的用户界面对应的UI描述信息。模拟器511可以解析上述与更新的用户界面对应的UI描述信息,并在用户界面上显示UI描述信息中的各组件。这样,开发人员就可以在模拟器上检验当第二设备检测到输入事件时,第二设备对该输入事件的响应是否达到预期效果。
在一些实施例中,UI描述信息中可以接入脚本或字节码。模拟器511在运行服务程序来解析UI描述信息时,可以将这些脚本或字节码提取出来并送入虚拟机/脚本引擎511b。
虚拟机/脚本引擎511a可以表示模拟器51中可只包含有虚拟机、只包含有脚本引擎、包含有虚拟机和脚本引擎或者包含有基于虚拟机的脚本引擎。其中,虚拟机可用于执行字节码。脚本引擎可用于执行脚本。若脚本或字节码中包含对用户界面的各组件的描述,虚拟机/脚本引擎511a可以调用组件库,从组件库中获取并执行可执行的底层代码来实例化各组件。若脚本或字节码中包含了对处理输入事件的描述,则当检测到输入事件时,模拟器511可以在虚拟机/脚本引擎511b中执行描述该输入事件的脚本或字节码。
需要进行说明的是,脚本或字节码是可执行的程序。虚拟机/脚本引擎511a在执行脚本或字节码时,可以在模拟器内存中被隔离的空间内执行,并对脚本或字节码所要求的各种权限进行控制,还可以捕获并处理在运行时出现的异常情况。这样,可以降低脚本或字节码在执行时可能存在的风险。
工作站510还可以包含更多内容,本申请实施例对此不作限定。
当生成UI描述信息,设计器512可以将UI描述信息上传至云端520。
云端520可以用于存储UI描述信息以及应用程序等。云端520可以为内容服务器、应用市场等。
第一设备530中可以包含有UI描述信息。该UI描述信息可以为预置的,也可以为通过下载包含有UI描述信息的应用程序得到的。其中第一设备可以从工作站510中的设计器512下载应用程序,或者从云端520中下载应用程序。应用程序中可包含有UI描述信息。
在一些实施例中,第一设备中可以包含有服务程序和虚拟机/脚本引擎。第一设备在用户界面上显示的各组件为UI描述信息中描述的各组件。即第一设备可以运行服务程序来解析UI描述信息,并调用组件库来实例化UI描述信息中的各组件。其中,第一设备在解析UI描述信息时,可以先获取第一设备自己的屏幕信息(如形状、尺寸、分辨率等),并根据该屏幕信息来计算各组件的尺寸以及位置。这样可以使得UI描述信息中的各组件与第一设备的屏幕适配。
在另一些实施例中,应用程序中包含有与第一设备的屏幕适配的用户界面的绘制命令。第一设备可以执行这些绘制命令,从而在用户界面上显示各组件。
本申请实施例对第一设备在用户界面上显示各组件的方式不作限定。
第一设备530可以将一个应用场景涉及的全部UI描述信息一次性或者分次发送给第二设备540。
第二设备540可以包含服务程序511a和虚拟机/脚本引擎511b。服务程序511a和虚拟机/脚本引擎511b的说明可以参考对模拟器511中服务程序511a和虚拟机/脚本引擎511b的说明。
第二设备540可以从第一设备530或者从云端520获取UI描述信息。其中,当从第一设备530获取UI描述信息,第二设备540需要与第一设备530建立通信连接。例如,第二设备540可以通过经典蓝牙、低功耗蓝牙或者近场通信等方式与第一设备530建立通信连接。当从云端520获取UI描述信息,第二设备540需要与云端520建立通信连接。例如,第二设备540可以通过开启WiFi并访问互联网的方式与云端520建立通信连接。
需要进行说明的是,第二设备540中包含有组件库。该组件库可以预置在第二设备中,或者,可以随UI描述信息一起下载至第二设备540。
第二设备540可以根据如图5所示的方法流程图中的步骤S105~S108,对UI描述信息进行处理,在用户界面上显示UI描述信息中的各组件。这里不再赘述。
在一些实施例中,当未与云端520建立通信连接,或者需要与第一设备530进行交互时,第二设备540可以从第一设备530获取UI描述信息。例如,在如图11A~图11C所示的音乐播放的应用场景中,当检测到与第二设备(智能手表)540进行交互的指令,第一设备(手机)530需要与第二设备540进行交互。智能手表可以接收到来自手机的UI描述信息。智能手表解析该UI描述信息,并根据预先设定的过滤规则,可以在用户界面上显示如图11C所示的第一组件430、歌曲信息组件431、上一首组件432、暂停组件433、下一首组件434、播放模式组件435和音量组件436。这样,用户可以通过该智能手表对手机上播放的音乐进行控制。
在上述第二设备从第一设备获取UI描述信息的实施例中,由于第一设备与第二设备之间进行通信的信道功耗较低,第二设备从第一设备获取UI描述信息有利于降低第二设备的功耗。
在另一些实施例中,当脱离第一设备530独立工作,且与云端520建立有通信连接时,第二设备540可以从云端520获取UI描述信息。例如,在第二设备(智能手表)540脱离第一设备(手机)530进行音乐播放的应用场景中,智能手表可以利用自己的扬声器播放音乐。智能手表可以不安装应用程序音乐播放器,而是从云端520获取音乐播放器中用户界面的UI描述信息。智能手表还可以从云端获取其他与音乐相关的数据(如音乐的音频)。其中,智能手表获取的UI描述信息可以包括如图11A所示的音乐播放界面对应的UI描述信息以及音乐列表界面对应的UI描述信息等。该音乐列表界面可用于选择在智能手表上播放的音乐。
在上述第二设备从云端获取第一应用程序(如音乐播放器)中用户界面的UI描述信息的实施例中,第二设备不仅可以在不安装第一应用程序的情况下为用户提供第一应用程序中的服务,而且第二设备可以脱离第一设备独立工作。
下面介绍另一种开发多设备交互系统的结构示意图。
图13示出了另一种开发多设备交互系统的结构示意图。如图13所示,该开发多设备交互系统的结构中可以包括工作站610、云端620、第一设备630和第二设备640。其中:
工作站510和云端520的说明可以分别参考对图12所示的工作站510和云端520的说明。这里不再赘述。
第一设备630中可包含虚拟屏幕631。第一设备630可以预先获取第二设备的640的屏幕信息或者第二设备640中特定窗口的窗口信息(如窗口的形状、尺寸、分辨率),并将第二设备的屏幕信息或者窗口信息设置为虚拟屏幕631的屏幕信息。
当第一设备630与第二设备640进行交互,第一设备630可以运行服务程序611a对UI描述信息进行解析,并根据虚拟屏幕631的屏幕信息确定UI描述信息中各组件的尺寸。第一设备解析UI描述信息的方法可以参考如图5所示的方法流程图中第二设备解析UI描述信息的方法。
第一设备630可以对UI描述信息进行解析,并利用组件库得到实例化的组件。第一设备630可以在虚拟屏幕631上绘制经过实例化的组件,并生成绘制命令。该绘制命令可以用于绘制与虚拟屏幕适配的组件。
第一设备630可以将上述绘制命令发送给第二设备640。
第二设备640中可以包含服务程序611a和虚拟机/脚本引擎611b。当接收到来自第一设备630的绘制命令,第二设备640可以运行服务程序611a来执行这些绘制命令。这样,第二设备640可以在用户界面上显示UI描述信息中的各组件。
另外,当检测到作用在第二设备640上的输入事件,第二设备640可以向第一设备630反馈该输入事件。当接收到由第二设备640反馈的输入事件,第一设备630可以实际处理该输入事件对应的业务,并解析UI描述信息,生成绘制命令。其中第一设备630解析的UI描述信息为需要在第二设备640上更新的用户界面对应的UI描述信息。当接收到绘制命令,第二设备640可以运行服务程序611a来执行这些绘制命令。这样,第二设备640可以更新用户界面。
根据如图13所示的系统可以看出,由第一设备来解析UI描述信息,并根据第二设备的屏幕信息来生成绘制命令,而第二设备可以直接执行绘制命令来绘制各组件。这样不仅可以解决各组件在第二设备的用户界面上显示的适配问题,还可以减少第二设备在处理上的负担。
在一些实施例中,第一设备630可以预先获取第二设备的640的屏幕信息或者第二设备640中特定窗口的窗口信息(如窗口的形状、尺寸、分辨率),并将第二设备的屏幕信息或者窗口信息设置为虚拟屏幕631的屏幕信息。当第一设备630与第二设备640进行交互时,第一设备630可以解析UI描述信息,并结合虚拟屏幕631的屏幕信息确定该UI描述信息中各组件显示在虚拟屏幕631上,也即第二设备640的屏幕上,所采用的属性。例如,组件的类型、尺寸、位置、颜色等。然后第一设备630可以将上述确定出组件显示在第二设备640的屏幕上所采用的属性的UI描述信息发送给第二设备640。这样,第二设备640可以根据上述UI描述信息中各组件的显示第二设备640上所采用的属性以及组件库来实例化上述UI描述信息,从而在第二设备640的用户界面上显示上述UI描述信息中的组件。这些组件可以响应用户操作。
在上述实施例中,第一设备可解析UI描述信息,从而确定UI描述信息中各组件显示在第二设备的屏幕上所采用的属性。进而,第二设备可以只需对该UI描述信息中的组件进行实例化,并显示实例化的组件。这样,也可以在解决各组件在第二设备的用户界面上显示的适配问题以及减少第二设备在处理上的负担。
下面介绍一种在多设备交互过程中涉及的设备的结构示意图。
第一设备和第二设备均可以为手机、电脑、只能手表、智能电视、汽车等设备。本申请实施例对第一设备和第二设备的类型不作限定。
图14示出了一种设备500的结构示意图。该结构示意图既可以是第一设备的结构示意图,也可以是第二设备的结构示意图。
如图14所示,设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,显示屏190以及摄像头191等。其中传感器模块180可以包括压力传感器,陀螺仪传感器,加速度传感器,距离传感器,触摸传感器等。
可以理解的是,本发明实施例示意的结构并不构成对设备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的等待时间,因而提高了系统的效率。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏190,摄像头191,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
无线通信模块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)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
示例性的,在本申请实施例中,多个设备在交互时,可以通过无线通信模块160建立无线通信连接,例如BT,NFC等。这样,设备之间可以通过无线通信的信道传输UI描述信息和相关指令、数据等。
移动通信模块150可以提供应用在设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
示例性的,在接收到来电通知的应用场景中,设备100(如手机)可以利用移动通信模块150和基站进行通信,实现接听电话和挂断电话的功能。
显示屏190用于显示图像,视频等。显示屏190包括显示面板。显示面板可以采用液晶显示屏(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个显示屏190,N为大于1的正整数。
摄像头191用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,设备100可以包括1个或N个摄像头191,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
在本申请实施例中,设备的内部存储器121可用于存储服务程序以及组件库等。上述服务程序可用于解析UI描述信息。上述组件库中包含有与各组件对应的可执行的底层代码。当设备100接收到UI描述信息,处理器110可以运行存储在内部存储器121中的服务程序,来解析UI描述信息。当确定该UI描述信息中各组件的类型,处理器110可以加载存储在内部存储器121中的组件库,执行组件库中获取与组件对应的可执行的底层代码,对组件进行实例化。
设备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)标准接口。
触摸传感器,也称“触控面板”。触摸传感器180K可以设置于显示屏190,由触摸传感器与显示屏190组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏190提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器也可以设置于设备100的表面,与显示屏190所处的位置不同。
在本申请实施例中,处理器110可以根据检测到触摸操作的触摸传感器的位置确定该触摸操作在显示屏190上的屏幕坐标,进而将屏幕坐标转换为用户界面的组件坐标,来确定与该触摸操作关联的组件。
图15示例性示出了另一种设备100的结构示意图。
如图15所示,设备100可以包括通过总线相互耦合的显示屏910、通信装置920、存储器930以及处理器940。其中:
通信装置920可用于设备100与其他设备交互数据。例如,设备100可以接收到来自其它设备的UI描述信息,以及设备100向其他设备发送用于指示作用在设备100上的用户操作的事件。其中,设备100与其它设备建立有通信连接。存储器930可用于存储一个或多个程序。
处理器940可用于执行存储在存储器930中的一个或多个程序,使得设备100可以执行以下操作:
设备100可接收来自其它设备的第一UI描述信息。该第一UI描述信息可用于描述第一应用程序的第一UI组件。该第一UI组件可以根据第一应用程序的第一用户界面确定。该第一UI组件可第一用户界面上可以以第一组件属性显示。第一应用程序是安装在其他设备上的应用程序。
设备100可以根据第二组件属性以及第一组件的可执行的底层代码实例化上述第一UI组件。第二组件属性可以根据第一UI描述信息确定。第一UI组件的可执行的底层代码可以根据第一UI组件的组件类型从组件库中确定。该组件库可包含用于绘制不同类型的组件的可执行的底层代码。
设备100可以利用显示屏910显示第二用户界面。该第二用户界面可包括第一UI组件。第一UI组件可以在第二用户界面中以第二组件属性显示。
其中,第一组件属性、第二组件属性可包括组件类型、组件尺寸、组件位置、组件外观。
在本申请实施例中,第一UI组件可以为第一应用程序中可显示在不同设备用户界面上的组件。第一UI组件可以在第一设备的第一用户界面上以第一组件属性显示。第一UI组件可以在第二设备的第二用户界面上以第二组件属性显示。其中,显示在上述第二用户界面上的第一UI组件可以是根据第二组件属性以及该第一UI组件的可执行的底层代码实例化之后的组件。即前述实施例中所提及的组件。
示例性的,如图6A和图6C所示,第一应用程序可以为拨号应用。拨号应用中可包含有联系人组件、挂断组件、接听组件。这些组件可以表示上述第一UI组件。这些组件可以分别第一组件属性和第二组件属性显示在如图6A所示的手机的用户界面上,和如图6C所示的智能手表的用户界面上。这些组件在手机的用户界面上显示,可以分别为联系人组件213、挂断组件213、接听组件214。这些组件在智能手表的用户界面上显示,可以分别为联系人组件311、挂断组件312、接听组件313。这些组件在智能手表的用户界面上显示的位置、尺寸、颜色等参数可以与在手机的用户界面上显示时不同。
另外,第一UI组件可以根据其内部是否包含有子组件划分为前述实施例中所提及的第一组件或第二组件。也即是说,当第一UI组件内部包含有子组件,第一UI组件可以是前述第一组件。当第一UI组件内部不包含有子组件,第一UI组件可以是前述第二组件。第二UI组件的定义可以参考上述对第一UI组件的说明。
在本申请实施例中,第一应用程序、第二应用程序均可以为系统应用程序、主屏幕应用程序、第三方应用程序。系统应用程序可以包括前述实施例所提及的拨号应用、信息应用、联系人应用。主屏幕应用程序可以为前述实施例所提及的主界面应用。第三方应用程序可以包括前述实施例所提及的微信应用、运动健康应用、Google Maps应用。
在本申请实施例中,第一组件属性可以包含第一UI组件的组件类型以及该第一UI组件在用户界面上显示的组件尺寸、组件位置和组件外观。上述组件类型可以为第一UI组件的类型。例如,按钮、滑块、复选框、文本框和图标等。上述组件尺寸、上述组件位置和上述组件外观可以为第一UI组件的尺寸、位置、外观。该外观例如是背景、前景、边框线条。第二组件属性、第三组件属性和第四组件属性的含义可以参考对第一组件属性的说明。
在本申请实施例中,第一UI组件的组件类型的组件对象可以为该第一UI组件的组件类型所对应的一类组件。例如按钮、滑块、复选框、文本框和图标。也即是说,若第一UI组件的组件类型是按钮,第二设备利用该第一UI组件的可执行的底层代码得到上述第一UI组件的组件类型的组件对象,可以表示第二设备得到一个按钮。但该按钮在第二设备用户界面上显示的尺寸、位置和外观需要第二设备根据该按钮在第二设备用户界面上显示的属性来确定。
在本申请实施例中,第一设备中安装有第一应用程序。当检测到一个事件,第一设备可以将第一用户界面的第一UI描述信息发送给第二设备。示例性的,该第一应用程序可以是拨号应用。上述一个事件指来电通知。那么上述第一用户界面可以是来电通知界面。即第一设备将来电通知界面的UI描述信息发送给第二设备,使得第二设备可以通知用户接听电话。
在本申请实施例中,第二设备显示第二用户界面。该第二用户界面可以是第二设备根据来自第一设备的UI描述信息所显示的用户界面。例如,第一设备将来电通知界面的UI描述信息发送给第二设备。那么上述第二用户界面可以为显示在第二设备上的来电通知界面,其中包含有UI描述信息中所描述的组件。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (213)
1.一种多设备交互方法,其特征在于,所述方法包括:
第二设备向第一设备发送第一事件;
所述第二设备接收来自所述第一设备的第一UI描述信息;所述第一UI描述信息用于描述第一应用程序的第一UI组件,所述第一UI组件是根据所述第一应用程序的第一用户界面确定的;所述第一UI组件在所述第一用户界面上以第一组件属性显示;所述第一应用程序为安装在所述第一设备上的应用程序;
所述第二设备显示第二用户界面,所述第二用户界面中包括以第二组件属性显示的所述第一UI组件;所述第二用户界面中的所述第一UI组件是根据所述第二组件属性和所述第一UI组件的可执行的底层代码实例化得到的,所述实例化包括利用所述第二组件属性获取并初始化相对应的可执行的底层代码以及运行所述底层代码;其中,所述第二组件属性根据所述第一UI描述信息确定;
其中,所述第一组件属性、所述第二组件属性均包括组件类型,以及以下一项或多项参数:组件尺寸、组件位置、组件外观。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第二设备在所述第二用户界面中检测到作用于所述第一UI组件的第一用户操作;
所述第二设备改变所述第一UI组件在所述第二用户界面中的组件尺寸和/或组件外观;所述组件外观包括以下一项或多项:颜色、前景、背景。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第二用户界面中检测到作用于所述第一UI组件的第一用户操作之后,所述第二设备向所述第一设备发送所述第一事件;其中,所述第一事件用于指示所述第一用户操作的发生;
所述第二设备接收来自所述第一设备的第二UI描述信息;所述第二UI描述信息用于描述所述第一应用程序的第二UI组件,所述第二UI组件是根据所述第一应用程序的第三用户界面确定的;所述第二UI组件在所述第三用户界面上以第三组件属性显示;
所述第二设备根据第四组件属性以及所述第二UI组件的可执行的底层代码实例化所述第二UI组件;所述第四组件属性是根据所述第二UI描述信息确定的,所述第二UI组件的可执行的底层代码是根据所述第二UI组件的组件类型从所述组件库中确定出的
所述第二设备显示第四用户界面,所述第四用户界面包括所述第二UI组件,所述第二UI组件在所述第四用户界面中以所述第四组件属性显示;
其中,所述第三组件属性、所述第四组件属性均包括组件类型,以及以下一项或多项参数:组件尺寸、组件位置、组件外观。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备根据所述第一UI组件的组件类型从所述组件库中查找出所述第一UI组件的可执行的底层代码;
所述第二设备利用所述第一UI组件的可执行的底层代码得到所述第一UI组件的组件类型的组件对象;
所述第二设备利用所述第二组件属性设置所述第一UI组件的组件类型的组件对象在所述第二用户界面中的以下一项或多项参数:组件尺寸、组件位置、组件外观,得到实例化的所述第一UI组件。
5.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一UI组件内部包括至少一个子组件;所述方法还包括:
所述第二设备根据所述第一UI组件的组件类型从所述组件库中查找出所述第一UI组件的可执行的底层代码,以及根据所述子组件的组件类型从所述组件库中查找出所述子组件的可执行的底层代码;
所述第二设备利用所述第一UI组件的可执行的底层代码得到所述第一UI组件的组件类型的组件对象,以及利用所述子组件的可执行的底层代码得到所述子组件的组件类型的组件对象;
所述第二设备利用所述第二组件属性设置所述第一UI组件的组件类型的组件对象在所述第二用户界面中的以下一项或多项参数:组件尺寸、组件位置、组件外观,得到所述实例化的所述第一UI组件,以及利用所述子组件的组件属性设置所述子组件的组件类型的组件对象在所述第二用户界面中的以下一项或多项参数:组件尺寸、组件位置、组件外观,得到实例化的所述子组件。
6.根据权利要求4所述的方法,其特征在于,所述第一UI组件内部包括至少一个子组件;所述方法还包括:
所述第二设备根据所述第一UI组件的组件类型从所述组件库中查找出所述第一UI组件的可执行的底层代码,以及根据所述子组件的组件类型从所述组件库中查找出所述子组件的可执行的底层代码;
所述第二设备利用所述第一UI组件的可执行的底层代码得到所述第一UI组件的组件类型的组件对象,以及利用所述子组件的可执行的底层代码得到所述子组件的组件类型的组件对象;
所述第二设备利用所述第二组件属性设置所述第一UI组件的组件类型的组件对象在所述第二用户界面中的以下一项或多项参数:组件尺寸、组件位置、组件外观,得到所述实例化的所述第一UI组件,以及利用所述子组件的组件属性设置所述子组件的组件类型的组件对象在所述第二用户界面中的以下一项或多项参数:组件尺寸、组件位置、组件外观,得到实例化的所述子组件。
7.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一UI描述信息包括所述第一组件属性;所述方法包括:
所述第二设备根据所述第一组件属性以及所述第二设备的屏幕信息确定所述第二组件属性;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率。
8.根据权利要求4所述的方法,其特征在于,所述第一UI描述信息包括所述第一组件属性;所述方法包括:
所述第二设备根据所述第一组件属性以及所述第二设备的屏幕信息确定所述第二组件属性;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率。
9.根据权利要求5所述的方法,其特征在于,所述第一UI描述信息包括所述第一组件属性;所述方法包括:
所述第二设备根据所述第一组件属性以及所述第二设备的屏幕信息确定所述第二组件属性;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率。
10.根据权利要求6所述的方法,其特征在于,所述第一UI描述信息包括所述第一组件属性;所述方法包括:
所述第二设备根据所述第一组件属性以及所述第二设备的屏幕信息确定所述第二组件属性;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率。
11.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一UI描述信息包括所述第二组件属性;所述方法包括:
所述第二设备向所述第一设备发送所述第二设备的屏幕信息;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率;
所述第二组件属性是所述第一设备根据所述第一组件属性以及所述第二设备的屏幕信息确定的。
12.根据权利要求4所述的方法,其特征在于,所述第一UI描述信息包括所述第二组件属性;所述方法包括:
所述第二设备向所述第一设备发送所述第二设备的屏幕信息;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率;
所述第二组件属性是所述第一设备根据所述第一组件属性以及所述第二设备的屏幕信息确定的。
13.根据权利要求5所述的方法,其特征在于,所述第一UI描述信息包括所述第二组件属性;所述方法包括:
所述第二设备向所述第一设备发送所述第二设备的屏幕信息;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率;
所述第二组件属性是所述第一设备根据所述第一组件属性以及所述第二设备的屏幕信息确定的。
14.根据权利要求6所述的方法,其特征在于,所述第一UI描述信息包括所述第二组件属性;所述方法包括:
所述第二设备向所述第一设备发送所述第二设备的屏幕信息;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率;
所述第二组件属性是所述第一设备根据所述第一组件属性以及所述第二设备的屏幕信息确定的。
15.根据权利要求1-3中任一项 所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
16.根据权利要求4所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
17.根据权利要求5所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
18.根据权利要求6所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
19.根据权利要求7所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
20.根据权利要求8所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
21.根据权利要求9所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
22.根据权利要求10所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
23.根据权利要求11所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
24.根据权利要求12所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
25.根据权利要求13所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
26.根据权利要求14所述的方法,其特征在于,所述第一UI组件根据所述第一用户界面中的部分或全部组件确定。
27.根据权利要求1-3中任一项所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
28.根据权利要求4所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
29.根据权利要求4所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
30.根据权利要求5所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
31.根据权利要求6所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
32.根据权利要求7所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
33.根据权利要求8所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
34.根据权利要求9所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
35.根据权利要求10所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
36.根据权利要求11所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
37.根据权利要求12所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
38.根据权利要求13所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
39.根据权利要求14所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
40.根据权利要求15所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
41.根据权利要求16所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
42.根据权利要求17所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
43.根据权利要求18所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
44.根据权利要求19所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
45.根据权利要求20所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
46.根据权利要求21所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
47.根据权利要求22所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
48.根据权利要求23所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
49.根据权利要求24所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
50.根据权利要求25所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
51.根据权利要求26所述的方法,其特征在于,所述第二设备显示第二用户界面之前,所述方法还包括:
所述第二设备处于熄屏状态;
或者,
所述第二设备显示第三用户界面,所述第三用户界面是第二应用程序的用户界面,所述第二应用程序为安装在所述第二设备上的应用程序。
52.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
53.根据权利要求4所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
54.根据权利要求5所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
55.根据权利要求6所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
56.根据权利要求7所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
57.根据权利要求8所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
58.根据权利要求9所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
59.根据权利要求10所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
60.根据权利要求11所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
61.根据权利要求12所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
62.根据权利要求13所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
63.根据权利要求14所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
64.根据权利要求15所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
65.根据权利要求16所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
66.根据权利要求17所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
67.根据权利要求18所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
68.根据权利要求19所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
69.根据权利要求20所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
70.根据权利要求21所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
71.根据权利要求22所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
72.根据权利要求23所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
73.根据权利要求24所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
74.根据权利要求25所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
75.根据权利要求26所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
76.根据权利要求27所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
77.根据权利要求28所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
78.根据权利要求29所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
79.根据权利要求30所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
80.根据权利要求31所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
81.根据权利要求32所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
82.根据权利要求33所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
83.根据权利要求34所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
84.根据权利要求35所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
85.根据权利要求36所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
86.根据权利要求37所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
87.根据权利要求38所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
88.根据权利要求39所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
89.根据权利要求40所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
90.根据权利要求41所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
91.根据权利要求42所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
92.根据权利要求43所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
93.根据权利要求44所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
94.根据权利要求45所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
95.根据权利要求46所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
96.根据权利要求47所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
97.根据权利要求48所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
98.根据权利要求49所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
99.根据权利要求50所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
100.根据权利要求51所述的方法,其特征在于,所述第一应用程序包括:系统应用程序、主屏幕应用程序、第三方应用程序;所述第三方应用程序为从第三方应用市场下载安装的应用程序。
101.根据权利要求1-3中任一项所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
102.根据权利要求4所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
103.根据权利要求5所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
104.根据权利要求6所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
105.根据权利要求7所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
106.根据权利要求8所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
107.根据权利要求9所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
108.根据权利要求10所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
109.根据权利要求11所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
110.根据权利要求12所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
111.根据权利要求13所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
112.根据权利要求14所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
113.根据权利要求15所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
114.根据权利要求16所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
115.根据权利要求17所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
116.根据权利要求18所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
117.根据权利要求19所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
118.根据权利要求20所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
119.根据权利要求21所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
120.根据权利要求22所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
121.根据权利要求23所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
122.根据权利要求24所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
123.根据权利要求25所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
124.根据权利要求26所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
125.根据权利要求27所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
126.根据权利要求28所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
127.根据权利要求29所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
128.根据权利要求30所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
129.根据权利要求31所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
130.根据权利要求32所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
131.根据权利要求33所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
132.根据权利要求34所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
133.根据权利要求35所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
134.根据权利要求36所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
135.根据权利要求37所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
136.根据权利要求38所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
137.根据权利要求39所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
138.根据权利要求40所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
139.根据权利要求41所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
140.根据权利要求42所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
141.根据权利要求43所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
142.根据权利要求44所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
143.根据权利要求45所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
144.根据权利要求46所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
145.根据权利要求47所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
146.根据权利要求48所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
147.根据权利要求49所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
148.根据权利要求50所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
149.根据权利要求51所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
150.根据权利要求52所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
151.根据权利要求53所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
152.根据权利要求54所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
153.根据权利要求55所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
154.根据权利要求56所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
155.根据权利要求57所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
156.根据权利要求58所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
157.根据权利要求59所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
158.根据权利要求60所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
159.根据权利要求61所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
160.根据权利要求62所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
161.根据权利要求63所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
162.根据权利要求64所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
163.根据权利要求65所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
164.根据权利要求66所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
165.根据权利要求67所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
166.根据权利要求68所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
167.根据权利要求69所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
168.根据权利要求70所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
169.根据权利要求71所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
170.根据权利要求72所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
171.根据权利要求73所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
172.根据权利要求74所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
173.根据权利要求75所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
174.根据权利要求76所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
175.根据权利要求77所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
176.根据权利要求78所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
177.根据权利要求79所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
178.根据权利要求80所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
179.根据权利要求81所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
180.根据权利要求82所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
181.根据权利要求83所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
182.根据权利要求84所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
183.根据权利要求85所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
184.根据权利要求86所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
185.根据权利要求87所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
186.根据权利要求88所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
187.根据权利要求89所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
188.根据权利要求90所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
189.根据权利要求91所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
190.根据权利要求92所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
191.根据权利要求93所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
192.根据权利要求94所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
193.根据权利要求95所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
194.根据权利要求96所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
195.根据权利要求97所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
196.根据权利要求98所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
197.根据权利要求99所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
198.根据权利要求100所述的方法,其特征在于,包括:
所述第二设备从所述第一设备获取所述组件库;
或者,
所述第二设备从云端获取所述组件库;
或者,
所述第二设备中预置有所述组件库。
199.一种多设备交互方法,其特征在于,所述方法包括:
第一设备检测到第一事件,向第二设备发送第一UI描述信息;所述第一UI描述信息用于描述第一应用程序的第一UI组件,所述第一UI组件是根据所述第一应用程序的第一用户界面确定的;所述第一UI组件在所述第一用户界面上以第一组件属性显示;所述第一应用程序为安装在所述第一设备上的应用程序;
所述第二设备显示第二用户界面,所述第二用户界面中包括以第二组件属性显示的所述第一组件;所述第二用户界面中的所述第一组件是根据所述第一UI描述信息实例化得到的,所述实例化包括利用第二组件属性获取并初始化相对应的可执行的底层代码以及运行所述底层代码;其中,所述第二组件属性根据所述第一UI描述信息确定;
其中,所述第一组件属性、所述第二组件属性均包括组件类型,以及以下一项或多项参数:组件尺寸、组件位置、组件外观。
200.根据权利要求199中所述的方法,其特征在于,所述方法还包括:
所述第一设备根据第一预设规则,从多个设备中确定所述第二设备;所述多个设备与所述第一设备建立有通信连接;
或者,
所述第一设备检测到第一用户操作,所述第一用户操作用于选择所述第二设备;所述第一设备确定所述第一用户操作选择的设备为所述第二设备。
201.根据权利要求199或200所述的方法,其特征在于,所述方法还包括:
所述第二设备在所述第二用户界面中检测到作用于所述第一UI组件的第二用户操作;
所述第二设备改变所述第一UI组件在所述第二用户界面中的组件尺寸和/或组件外观;所述组件外观包括以下一项或多项:颜色、前景、背景。
202.根据权利要求201所述的方法,其特征在于,所述方法还包括:
在所述第二用户界面中检测到作用于所述第一UI组件的第二用户操作之后,所述第二设备向所述第一设备发送第二事件;其中,所述第二事件用于指示所述第二用户操作的发生;
所述第一设备向所述第二设备发送第二UI描述信息;所述第二UI描述信息用于描述所述第一应用程序的第二UI组件,所述第二UI组件是根据所述第一应用程序的第三用户界面确定的;所述第二UI组件在所述第三用户界面上以第三组件属性显示;
所述第二设备根据第四组件属性以及所述第二UI组件的可执行的底层代码实例化所述第二UI组件;所述第四组件属性是根据所述第二UI描述信息确定的,所述第二UI组件的可执行的底层代码是根据所述第二UI组件的组件类型从所述组件库中确定出的;
所述第二设备显示第四用户界面;所述第四用户界面包括所述第二UI组件,所述第二UI组件在所述第四用户界面中以所述第四组件属性显示;
其中,所述第三组件属性、所述第四组件属性均包括组件类型,以及以下一项或多项参数:组件尺寸、组件位置、组件外观。
203.根据权利要求199或200所述的方法,所述第一UI描述信息包括所述第一组件属性;所述方法包括:
所述第二设备根据所述第一组件属性以及所述第二设备的屏幕信息确定所述第二组件属性;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率。
204.根据权利要求201所述的方法,所述第一UI描述信息包括所述第一组件属性;所述方法包括:
所述第二设备根据所述第一组件属性以及所述第二设备的屏幕信息确定所述第二组件属性;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率。
205.根据权利要求202所述的方法,所述第一UI描述信息包括所述第一组件属性;所述方法包括:
所述第二设备根据所述第一组件属性以及所述第二设备的屏幕信息确定所述第二组件属性;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率。
206.根据权利要求199或200所述的方法,其特征在于,所述第一UI描述信息包括所述第二组件属性;所述方法包括:
所述第二设备向所述第一设备发送所述第二设备的屏幕信息;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率;
所述第二组件属性是所述第一设备根据所述第一组件属性以及所述第二设备的屏幕信息确定的。
207.根据权利要求201所述的方法,其特征在于,所述第一UI描述信息包括所述第二组件属性;所述方法包括:
所述第二设备向所述第一设备发送所述第二设备的屏幕信息;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率;
所述第二组件属性是所述第一设备根据所述第一组件属性以及所述第二设备的屏幕信息确定的。
208.根据权利要求202所述的方法,其特征在于,所述第一UI描述信息包括所述第二组件属性;所述方法包括:
所述第二设备向所述第一设备发送所述第二设备的屏幕信息;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率;
所述第二组件属性是所述第一设备根据所述第一组件属性以及所述第二设备的屏幕信息确定的。
209.根据权利要求203所述的方法,其特征在于,所述第一UI描述信息包括所述第二组件属性;所述方法包括:
所述第二设备向所述第一设备发送所述第二设备的屏幕信息;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率;
所述第二组件属性是所述第一设备根据所述第一组件属性以及所述第二设备的屏幕信息确定的。
210.根据权利要求204所述的方法,其特征在于,所述第一UI描述信息包括所述第二组件属性;所述方法包括:
所述第二设备向所述第一设备发送所述第二设备的屏幕信息;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率;
所述第二组件属性是所述第一设备根据所述第一组件属性以及所述第二设备的屏幕信息确定的。
211.根据权利要求205所述的方法,其特征在于,所述第一UI描述信息包括所述第二组件属性;所述方法包括:
所述第二设备向所述第一设备发送所述第二设备的屏幕信息;所述屏幕信息包括以下一项或多项:屏幕尺寸、屏幕形状、屏幕分辨率;
所述第二组件属性是所述第一设备根据所述第一组件属性以及所述第二设备的屏幕信息确定的。
212.一种设备,包括显示屏、通信装置、存储器以及处理器,其特征在于,所述显示屏用于显示用户界面;所处存储器用于存储于一个或多个程序;所述处理器用于执行所述一个或多个程序,使得所述设备实现如权利要求1至198任一项所述的方法。
213.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在设备上运行,使得所述设备执行如权利要求1至198任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010480943.4A CN111666075B (zh) | 2020-05-30 | 2020-05-30 | 一种多设备交互的方法及系统 |
PCT/CN2021/097004 WO2021244452A1 (zh) | 2020-05-30 | 2021-05-28 | 一种多设备交互的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010480943.4A CN111666075B (zh) | 2020-05-30 | 2020-05-30 | 一种多设备交互的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111666075A CN111666075A (zh) | 2020-09-15 |
CN111666075B true CN111666075B (zh) | 2022-04-12 |
Family
ID=72385390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010480943.4A Active CN111666075B (zh) | 2020-05-30 | 2020-05-30 | 一种多设备交互的方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111666075B (zh) |
WO (1) | WO2021244452A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666075B (zh) * | 2020-05-30 | 2022-04-12 | 荣耀终端有限公司 | 一种多设备交互的方法及系统 |
CN115150502A (zh) * | 2021-03-31 | 2022-10-04 | 华为技术有限公司 | 一种应用小部件的显示方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864086A (zh) * | 2017-09-28 | 2018-03-30 | 努比亚技术有限公司 | 信息快速分享方法、移动终端及计算机可读存储介质 |
CN110275754A (zh) * | 2019-06-28 | 2019-09-24 | 百度在线网络技术(北京)有限公司 | 用于用户界面呈现的交互方法、装置、设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10649742B2 (en) * | 2014-06-13 | 2020-05-12 | James L. Bosworth | Computing expression medium, development environment, and device communication and control architecture |
CN106325647B (zh) * | 2015-06-17 | 2019-10-18 | 华为技术有限公司 | 一种ui调整方法、装置和移动终端 |
CN107402747B (zh) * | 2016-05-20 | 2019-08-20 | 中国科学院声学研究所 | 一种支持多终端类型的应用页面动态生成方法 |
CN107943439B (zh) * | 2016-10-13 | 2021-09-07 | 斑马智行网络(香港)有限公司 | 界面移动方法、装置、智能终端、服务器和操作系统 |
CN108228292A (zh) * | 2017-12-29 | 2018-06-29 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 一种ExtJS界面的生成方法和装置 |
CN110096275B (zh) * | 2018-01-30 | 2023-06-23 | 阿里健康信息技术有限公司 | 一种页面处理方法及装置 |
US10635413B1 (en) * | 2018-12-05 | 2020-04-28 | Bank Of America Corporation | System for transforming using interface image segments and constructing user interface objects |
CN111666075B (zh) * | 2020-05-30 | 2022-04-12 | 荣耀终端有限公司 | 一种多设备交互的方法及系统 |
-
2020
- 2020-05-30 CN CN202010480943.4A patent/CN111666075B/zh active Active
-
2021
- 2021-05-28 WO PCT/CN2021/097004 patent/WO2021244452A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864086A (zh) * | 2017-09-28 | 2018-03-30 | 努比亚技术有限公司 | 信息快速分享方法、移动终端及计算机可读存储介质 |
CN110275754A (zh) * | 2019-06-28 | 2019-09-24 | 百度在线网络技术(北京)有限公司 | 用于用户界面呈现的交互方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111666075A (zh) | 2020-09-15 |
WO2021244452A1 (zh) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11922005B2 (en) | Screen capture method and related device | |
CN109814766B (zh) | 一种应用显示方法及电子设备 | |
CN113497909B (zh) | 一种设备交互的方法和电子设备 | |
CN113542503B (zh) | 一种创建应用快捷方式的方法、电子设备及系统 | |
US20230359424A1 (en) | Multi-Screen Collaboration Method and System, and Electronic Device | |
CN113961157B (zh) | 显示交互系统、显示方法及设备 | |
WO2020259514A1 (zh) | 一种调用服务的方法及装置 | |
CN113613064B (zh) | 视频处理方法、装置、存储介质及终端 | |
CN111666075B (zh) | 一种多设备交互的方法及系统 | |
WO2023030099A1 (zh) | 跨设备交互的方法、装置、投屏系统及终端 | |
CN113170011A (zh) | 一种电子设备在来电时呈现视频的方法和电子设备 | |
CN110989961A (zh) | 一种声音处理方法及其装置 | |
WO2022135157A1 (zh) | 页面显示的方法、装置、电子设备以及可读存储介质 | |
US20230236714A1 (en) | Cross-Device Desktop Management Method, First Electronic Device, and Second Electronic Device | |
CN115883893A (zh) | 大屏业务的跨设备流转操控方法和装置 | |
CN112786022A (zh) | 终端、第一语音服务器、第二语音服务器及语音识别方法 | |
WO2024067170A1 (zh) | 设备管理方法及电子设备 | |
WO2022227978A1 (zh) | 显示方法及相关装置 | |
WO2023065839A1 (zh) | 一种触控反馈方法与电子设备 | |
CN117196713A (zh) | 多媒体资源的展示方法、装置、终端及存储介质 | |
CN114356186A (zh) | 一种拖动阴影动画效果的实现方法及相关设备 | |
CN116069198A (zh) | 浮窗调整方法及电子设备 | |
CN114911438A (zh) | 任务切换系统及其方法、所包括的电子设备以及可读介质 | |
CN117880412A (zh) | 横幅通知消息的显示方法与电子设备 | |
CN115857964A (zh) | 应用程序安装方法及相关设备 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210423 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Applicant after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |