CN114610419B - 添加widget的方法、装置及计算机可读存储介质 - Google Patents
添加widget的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114610419B CN114610419B CN202011419518.0A CN202011419518A CN114610419B CN 114610419 B CN114610419 B CN 114610419B CN 202011419518 A CN202011419518 A CN 202011419518A CN 114610419 B CN114610419 B CN 114610419B
- Authority
- CN
- China
- Prior art keywords
- widget
- terminal
- target
- interface
- application
- 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
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种添加widget的方法、装置及计算机可读存储介质,属于终端技术领域。所述方法包括:第一终端确定待添加的目标widget,目标widget与已安装的目标应用关联;若接收到将目标widget添加至第二终端的指令,则获取目标widget的界面相关数据,向第二终端发送widget添加请求,widget添加请求携带该界面相关数据,以请求第二终端基于该界面相关数据在第二终端中添加目标widget。本申请可以通过第一终端来为第二终端添加目标应用的widget,实现了widget的跨设备添加,使得第二终端在不安装目标应用的情况下,也能够添加目标应用的widget,节省了第二终端的存储资源和处理资源,扩展了widget的添加方式。
Description
技术领域
本申请涉及终端技术领域,特别涉及一种添加widget的方法、装置及计算机可读存储介质。
背景技术
微件(widget)是一种窗口小部件,可以添加在终端的某个显示界面上使用,如可以添加在桌面上来使用,从而增加桌面的功能性。比如,widget可以是时钟、备忘录或天气预报等。另外,widget还可以与某个应用关联,与应用关联的widget具有应用的部分功能。比如,一个应用可以提供一个或多个widget。用户直接与应用的widget进行交互即可实现该应用的部分功能,从而方便了用户的操作。
相关技术中,终端中已安装的应用才提供有关联widget的添加入口,也即是,若用户想要在终端中添加某个应用的widget,则需要先在终端中安装该应用,之后才能添加该应用的widget。但是,应用的安装数据将会占用终端较多的存储资源,且应用的运行也会耗费终端较多的处理资源,因此对于智能手表等终端来说,如果先安装应用再添加应用的widget,会影响终端的性能。
发明内容
本申请提供了一种添加widget的方法、装置及计算机可读存储介质,可以解决相关技术中终端添加应用的widget耗费存储资源和处理资源的问题。所述技术方案如下:
第一方面,提供了一种添加widget的方法,所述方法包括:确定待添加的目标widget,目标widget与已安装的目标应用关联;若接收到将目标widget添加至第二终端的指令,则获取目标widget的界面相关数据,向第二终端发送widget添加请求,widget添加请求携带目标widget的界面相关数据,用于请求第二终端基于该界面相关数据在第二终端中添加目标widget。
本申请实施例中,可以通过第一终端来为第二终端添加目标应用的widget,实现了widget的跨设备添加,使得第二终端在不安装目标应用的情况下也能够添加目标应用的widget,从而减少了安装目标应用对第二终端的存储资源和处理资源的耗费,扩展了widget的添加方式。
其中,目标应用可以为第一终端安装的任一应用,且目标应用关联有一个或多个widget。目标widget可以为目标应用的任一widget。目标widget具有目标应用的部分功能,目标widget的显示界面包括与目标应用相关的部分数据和/或控件。目标widget中的控件能够触发目标应用的某些功能。
比如,目标应用可以为音乐应用、视频应用或地图应用等,当然也可以为能够提供widget的其他应用。音乐应用的widget可以为音乐应用的音乐播放界面;视频应用的widget可以为视频应用的视频播放界面;地图应用的widget可以为地图应用的导航界面等。应理解,目标widget还可以为与目标应用关联的其他显示界面,本申请实施例对此不作限定。
目标widget界面相关数据用于指示目标widget的显示界面。目标widget的界面相关数据可以包括widget显示数据和widget控制数据中的一种或多种。
widget显示数据用于指示目标widget的布局、目标widget的界面大小、目标widget上各个控件的类型、位置、图标、颜色中的一种或多种。目标widget的布局用于指示目标widget的结构,比如用于指示目标widget中包括哪些数据和控件等。作为一个示例,widget显示数据包括目标widget的布局文件、用于配置目标widget的界面大小的配置文件、用于配置目标widget上各个控件的类型和位置的配置文件、目标widget上各个控件的图标文件和颜色定义文件中的一种或多种。
widget控制数据用于指示目标widget上各个控件的控件对象、控件事件中的一种或多种。控件的控件事件包括控件被触发的响应事件。作为一个示例,widget控制数据包括用于配置目标widget上各个控件的控件对象的配置文件,以及用于配置目标widget上各个控件的控件事件的配置文件中的一种或多种。作为一个示例,widget控制数据可以通过定义的Remount View对象进行配置。RemountView对象可以包含目标widget上各个控件的控件对象和控件事件中的一种或多种。
需要说明的是,待添加的目标widget可以由终端默认设置,也可以由用户选择得到。比如,第一终端可以显示一个或多个widget标识,用户可以从这一个或多个widget标识选择一个widget标识,响应于用户的选择操作,第一终端即可将用户选择的widget标识所标识的widget确定为待添加的widget。
作为一个示例,若检测到widget添加操作,则第一终端可以显示widget添加界面,widget添加界面包括一个或多个widget标识。若检测到对widget添加界面中任一widget标识的选择操作,则将选择的widget标识所标识的widget确定为待添加的widget。
其中,widget添加操作可以为点击操作、滑动操作、语音操作或手势操作等。比如,widget添加操作可以为长按主界面的空白区域的操作,或者为点击窗口小工具的操作等,本申请实施例对此不作限定。其中,窗口小工具用于触发添加widget。
在一种可能的实现方式中,第一终端在确定待添加的目标widget之后,还可以显示一个或多个终端的终端标识。若检测到对显示的一个或多个终端标识中任一终端标识的选择操作,则确定接收到将目标widget添加至选择的终端标识所标识的终端的指令,选择的终端标识所标识的终端为第二终端。
其中,一个或多个终端为已与第一终端建立连接的终端。比如,一个或多个终端为已与第一终端建立近距离无线通信连接的终端,如通过蓝牙或WIFI等与第一终端建立近距离无线通信连接的终端。
可选地,一个或多个终端为已与第一终端建立连接,且支持跨设备添加widget功能的终端。其中,支持跨设备添加widget功能的终端是指能够基于其他设备发送的widget添加请求添加widget的终端。
作为一个示例,第一终端在确定待添加的目标widget之后,可以先搜索已与第一终端建立连接的终端,然后从搜索到的终端中确定支持跨设备添加widget功能的终端,得到一个或多个终端,再显示这一个或多个终端的终端标识。
作为一个示例,第一终端向第二终端发送widget添加请求之前,可以先对目标widget的界面相关数据进行打包处理,再向第二终端发送widget添加请求,该widget添加请求携带打包处理后的界面相关数据。
在一种可能的实现方式中,第一终端在向第二终端发送widget添加请求之后,若接收到第二终端发送的目标widget的控件事件,还可以触发目标应用执行控件事件对应的业务。
也即是,第二终端可以基于添加的目标widget,对第一终端中的目标应用进行操控,从而通过添加的widget实现了目标应用的跨设备操控,提高了widget的灵活性。
其中,目标widget的控件事件可以由针对第二终端中添加的目标widget的widget操作触发。widget操作是指针对目标widget的操作,用于触发目标widget的控件事件。比如,widget操作可以是对目标widget中任一控件的触发操作,如对目标widget中任一控件的点击操作或滑动操作等。或者,widget操作也可以是在第一终端显示目标widget的过程中,对第一终端的物理按键的触发操作,或对第一终端的旋钮的旋转操作等。当然,widget操作也可以为其他针对widget的操作,如语音操作或手势操作等,本申请实施例对此不作限定。
在一种可能的实现方式中,第一终端在目标应用执行该控件事件对应的业务之后,若基于目标应用执行的业务确定目标widget需要进行界面刷新,则还可以获取目标widget的界面刷新数据,向第二终端发送widget刷新请求,widget刷新请求携带该界面刷新数据,以请求第二终端基于该界面刷新数据对目标widget的显示界面进行刷新。其中,该界面刷新数据用于指示目标widget刷新后的显示界面。
如此,可以通过第一终端,对第二终端中的目标widget进行刷新,从而可以实现widget跨设备刷新,进一步提高了widget的灵活性。
第二方面,提供了一种添加widget的装置,所述添加widget的装置具有实现上述第一方面中添加widget的方法行为的功能。所述添加widget的装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的添加widget的方法。
第三方面,提供了一种添加widget的装置,所述添加widget的装置的结构中包括处理器和存储器,所述存储器用于存储支持添加widget的装置执行上述第一方面所提供的添加widget的方法的程序,以及存储用于实现上述第一方面所述的添加widget的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述添加widget的装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的添加widget的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的添加widget的方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
第六方面,提供了一种添加widget的方法,所述方法包括:接收第一终端发送的widget添加请求,widget添加请求携带目标widget的界面相关数据,该界面相关数据用于指示所述目标widget的显示界面,目标widget与第一终端安装的目标应用关联;基于该界面相关数据,在第二终端中添加目标widget。
本申请实施例中,可以通过第一终端来为第二终端添加目标应用的widget,实现了widget的跨设备添加,使得第二终端在不安装目标应用的情况下也能够添加目标应用的widget,从而减少了安装目标应用对第二终端的存储资源和处理资源的耗费,扩展了widget的添加方式。
第一终端可以基于该界面相关数据,在第二终端的显示界面中添加目标widget。在第二终端的显示界面中添加目标widget后,可以在第二终端的显示界面中显示目标widget的显示界面。其中,目标widget的显示界面可以占据第二终端的显示界面的全部或部分区域,本申请实施例对此不作限定。
其中,用于添加目标widget的显示界面可以由第二终端默认设置,也可以由用户选择得到。比如,在基于该界面相关数据,在第二终端中添加目标widget之前,可以基于用户的界面选择操作,确定待添加目标widget的目标显示界面,然后基于该界面相关数据,在目标显示界面中添加目标widget。
需要说明的是,该界面选择操作可以为点击操作、滑动操作、语音操作或手势操作等,本申请实施例对此不作限定。比如,该界面选择操作可以在向左或向右滑动显示界面后,对当前显示界面的空白区域的长按操作,或者对当前显示界面中的widget添加入口的点击操作等。
在一种可能的实现方式中,基于该界面相关数据,在第二终端中添加目标widget的操作包括:基于该界面相关数据,在第二终端的显示界面上创建目标widget的显示界面,以实现在第二终端中添加目标widget。
作为一个示例,基于该界面相关数据,在第二终端的显示界面上创建目标widget的显示界面的操作包括:创建widget视图对象,以及在第二终端的显示界面上创建widget视图对象的显示区域;创建与该界面相关数据对应的实体视图;将该实体视图添加在widget视图对象的显示区域中,得到目标widget的显示界面,从而完成目标widget在第二终端的显示。
其中,widget视图对象可以为APPWidgetHostView对象,实体视图可以为实体View。第二终端可以根据该界面相关数据中的widget显示数据,创建与该界面相关数据对应的实体视图。
在一种可能的实现方式中,第二终端在基于该界面相关数据,在第二终端中成功添加目标widget之后,还可以向第一终端发送添加成功通知,该添加成功通知用于指示第二设备已成功添加目标widget。
第一终端接收到该添加成功通知之后,还可以存储成功添加目标widget的第二终端的设备信息。比如,通过第一终端的应用widget服务存储成功添加目标widget的第二终端的设备信息。示例地,可以通过第一终端的应用widget服务,将成功添加目标widget的第二终端的设备信息存储在widget数据库中。
第一终端接收到该添加成功通知之后,还可以存储成功添加目标widget的第二终端的设备信息。比如,通过第一终端的应用widget服务存储成功添加目标widget的第二终端的设备信息。示例地,可以通过第一终端的应用widget服务,将成功添加目标widget的第二终端的设备信息存储在widget数据库中。
另外,在第二终端中添加目标widget之后,用户还可以通过对第二终端中的目标widget进行操作,来控制第一终端中的目标应用,也即是,能够实现目标widget的跨设备操作。
在一种可能的实现方式中,基于该界面相关数据,在第二终端中添加目标widget之后,第二终端若检测到针对目标widget的widget操作,则向第一终端发送该widget操作触发的目标widget的控件事件。
其中,widget操作是指针对目标widget的操作,用于触发目标widget的控件事件。比如,widget操作可以是对目标widget中任一控件的触发操作,如对目标widget中任一控件的点击操作或滑动操作等。或者,widget操作也可以是在第一终端显示目标widget的过程中,对第一终端的物理按键的触发操作,或对第一终端的旋钮的旋转操作等。当然,widget操作也可以为其他针对widget的操作,如语音操作或手势操作等,本申请实施例对此不作限定。
作为一个示例,若检测到针对添加的目标widget的widget操作,则向第一终端发送该widget操作触发的目标widget的控件事件包括:若检测到对目标widget的第一控件的触发操作,则基于该界面相关数据确定第一控件对应的控件事件;将第一控件对应的控件事件发送给第一终端。
其中,第一控件的触发操作可以为对第一控件的点击操作或滑动操作,也可以为语音操作或手势操作等,本申请实施例对此不作限定。第一控件为目标widget的任一控件。
作为一个示例,若基于添加的目标widget检测到指定操作,第二终端可以触发一个类似广播的消息,然后将该消息发送给第一终端。其中,该消息携带指定操作触发的目标widget的控件事件。
在一种可能的实现方式中,在向第一终端发送所述指定操作触发的目标widget的控件事件之后,若接收第一终端发送的widget刷新请求,第二终端还可以基于widget刷新请求携带的目标widget的界面刷新数据,对目标widget的显示界面进行刷新。
其中,widget刷新请求携带目标widget的界面刷新数据,该界面刷新数据用于指示目标widget刷新后的显示界面。该界面刷新数据可以包括widget显示数据和widget控制数据中的一种或多种。
也即是,第二终端可以基于添加的目标widget,对第一终端中的目标应用进行操控,从而通过添加的widget实现了目标应用的跨设备操控,提高了widget的灵活性。在第二终端对第一终端中的目标应用进行操控之后,第一终端还可以根据第二终端的操控,对第一终端中添加的目标widget进行刷新,从而可以实现widget跨设备刷新,进一步提高了widget的灵活性。
第七方面,提供了一种添加widget的装置,所述添加widget的装置具有实现上述第六方面中添加widget的方法行为的功能。所述添加widget的装置包括至少一个模块,所述至少一个模块用于实现上述第六方面所提供的添加widget的方法。
第八方面,提供了一种添加widget的装置,所述添加widget的装置的结构中包括处理器和存储器,所述存储器用于存储支持添加widget的装置执行上述第六方面所提供的添加widget的方法的程序,以及存储用于实现上述第六方面所述的添加widget的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述添加widget的装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第九方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第六方面所述的添加widget的方法。
第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第六方面所述的添加widget的方法。
上述第七方面、第八方面、第九方面和第十方面所获得的技术效果与上述第六方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
第十一方面,提供了一种添加widget的***,包括:第一终端和第二终端,其中,所述第一终端用于上述第一方面所述的添加widget的方法;所述第二终端用于执行上述第二方面所述的添加widget的方法。
附图说明
图1是本申请实施例提供的一种添加widget的***示意图;
图2是本申请实施例提供的一种终端的结构示意图;
图3是本申请实施例提供的一种终端的软件结构框图;
图4是本申请实施例提供的一种添加widget的***的***架构图;
图5是本申请实施例提供的一种跨设备添加widget的图形用户界面;
图6是本申请实施例提供的另一种跨设备添加widget的图形用户界面;
图7是本申请实施例提供的一种音乐应用以及音乐应用的widget的图形用户界面示意图;
图8是本申请实施例提供的一种视频应用以及视频应用的widget的图形用户界面示意图;
图9是本申请实施例提供的一种地图应用以及地图应用的widget的图形用户界面示意图;
图10是本申请实施例提供的一种添加widget的方法流程图;
图11是本申请实施例提供的一种widget添加过程的流程示意图;
图12是本申请实施例提供的一种widget刷新过程的流程示意图;
图13是本申请实施例提供的一种添加widget的装置的结构示意图;
图14是本申请实施例提供的另一种添加widget的装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请实施例提供的方法应用于添加widget的***中。请参考图1,图1是本申请实施例提供的一种添加widget的***示意图。如图1所示,该***包括第一终端10和第二终端20,第一终端10和第二终端20可以通过有线网络或有线网络进行连接。
其中,第一终端10安装有目标应用,目标应用具有一个或多个widget,以供用户进行添加。目标应用可以为任一能够提供widget的应用,如音乐应用、视频应用或导航应用等,本申请实施例对此不作限定。第二终端20为需要添加目标widget的终端,目标widget为目标应用的widget。
本申请实施例中,当用户想要为第二终端20添加目标应用的widget时,可以通过第一终端10为第二终端20添加目标应用的widget,使得第二终端20在未安装目标应用的情况下,也能够成功添加目标应用的widget。如此,可以节省第二终端20的存储资源和处理资源,避免第二终端20需要先安装目标应用才能添加目标应用的widget,扩展了widget的添加方式,提高了灵活性,能够满足用户的多样化需求。
也即是,本申请实施例可以实现通过一个设备来为另一个设备添加widget。为了便于说明,本申请实施例将通过一个设备来为另一个设备添加widget称为跨设备添加widget。
其中,第一终端10和第二终端20可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端,可穿戴设备可以为智能手表或智能手环等,本申请实施例对第一终端10和第二终端20的类型不作限定。图1仅是以第一终端10为手机、第二终端20为智能手表为例,第一终端10和第二终端20还可以为其他类型。
作为一个示例,第一终端10为硬件性能较高的终端,如手机、平板电脑、笔记本电脑或计算机等。第二终端10为硬件性能较低的终端,如AR/VR设备、车载设备或可穿戴设备等。如此,可以在硬件性能较高的终端中安装目标应用,然后通过硬件性能较高的终端为硬件性能较低的终端跨设备添加目标应用的widget。
比如,第一终端10为手机,第二终端20为智能手表,通过手机来为智能手表添加目标应用的widget。由于智能手表的硬件性能不像手机那么高,如果安装了目标应用,目标应用的安装数据将会占用智能手表较多的存储资源,且目标应用的运行也会耗费智能手表较多的处理资源,影响智能手表的性能,因此为了节省智能手表的存储资源和处理资源,可以通过手机来为智能手表添加目标应用的widget。
需要说明的是,目标widget具有目标应用的部分功能。也即是,目标widget是目标应用的一种快捷方式,其包括目标应用的部分显示界面和部分控制功能。目标widget可以被添加到第二终端20的某一显示界面中。目标widget被添加到第二终端20的某一显示界面后,目标widget的显示界面占据第二终端20的显示界面的全部或部分区域。目标widget的显示界面包括目标应用的相关数据和/或控件。目标widget中的控件用于触发目标应用的某些功能。
在第二终端20中添加目标widget后,用户还可以通过对第二终端20中的目标widget进行操作,来控制第一终端10中的目标应用。比如,用户可以通过点击第二终端20中的目标widget的控件,来触发第一终端10中的目标应用执行相应的功能,实现对目标应用的远程操控。
接下来,对终端的结构进行介绍。请参考图2,图2是本申请实施例提供的一种终端100的结构示意图。终端100可以为上述图1中的第一终端10或第二终端20。其中,第一终端10用于提供业务的主要运行***资源,可以包括处理器、存储器和网络服务等。第二终端10具有显示屏幕,以及能够接收各类输入事件,输入事件包括但不限于屏幕触控、按钮点击、旋钮旋转等操作事件。
如图2所示,终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现终端100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等***器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现终端100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现终端100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB TypeC接口等。USB接口130可以用于连接充电器为终端100充电,也可以用于终端100与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块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转为电磁波辐射出去。
在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(globalnavigation satellite system,GLONASS),北斗卫星导航***(beidou navigationsatellite system,BDS),准天顶卫星***(quasi-zenith satellite system,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
终端100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端100可以包括1个或N个显示屏194,N为大于1的正整数。
终端100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端100可以包括1个或N个摄像头193,N为大于1的正整数。
在一些可能的情况中,摄像头193可以作为手势采集模块来采集用户的手势操作。摄像头193可以包括前置摄像头和/或后置摄像头。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。终端100的按键190可以包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。
此外,终端100还包括各种不同传感器,例如,压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。陀螺仪传感器180B可以用于确定终端100的运动姿态。气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。加速度传感器180E可检测终端100在各个方向上(一般为三轴)加速度的大小。距离传感器180F,用于测量距离。终端100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端100可以利用距离传感器180F测距以实现快速对焦。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。环境光传感器180L用于感知环境光亮度。终端100可以根据感知的环境光亮度自适应调节显示屏194亮度。指纹传感器180H用于采集指纹。终端100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。骨传导传感器180M可以获取振动信号。温度传感器180J,用于检测温度。例如,温度传感器180J可以是非接触式红外温度传感器,该非接触式红外温度传感器可以利用红外线来测量物体的温度。
终端100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android***为例,示例性说明终端100的软件结构。
图3是本申请实施例提供的一种终端100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和***库,以及内核层。
应用程序层可以包括一系列应用程序包。如图3所示,应用程序包可以包括视频,相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层还可以称为***服务框架层。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图***,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
二维图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。例如传感器驱动用于调用红外温度传感器,摄像头驱动可以启动摄像头采集图像。
接下来,结合上述图3对添加widget的***的***架构进行介绍。请参考图4,图4是本申请实施例提供的一种添加widget的***的***架构图。
如图4所示,第一终端10包括应用程序层和应用程序框架层,应用程序框架层也称***服务框架层。第一终端10的应用程序层包括目标应用11和应用widget管理12。第一终端10的应用程序框架层包括应用widget服务13和跨设备服务14。第二终端20也包括应用程序层和应用程序框架层。第二终端20的应用程序层包括桌面启动器21。第二设备20的应用程序框架层包括跨设备服务22。
目标应用11可以为任一应用,负责实现应用业务功能。比如,目标应用11负责执行目标应用11的各类widget业务。
作为一个示例,目标应用11具有各类widget业务请求接口,目标应用11可以通过调用各类widget业务请求接口,来执行各类widget业务。比如,若目标应用11接收到目标widget的控件事件,则可以调用与该控件事件对应的widget业务请求接口,通过与该控件事件对应的widget业务请求接口,来执行与该控件事件对应的业务。
应用widget管理12负责应用端的widget相关业务管理。比如,负责监听目标widget的各类控件事件,将控件事件通知给目标应用11。或者,负责在确定目标widget的显示界面需要刷新时,触发目标widget的刷新流程。或者,负责与目标应用11进行业务交互等。应用widget管理12还可以称为应用widget提供者(APP widget provider)。示例的,应用widget管理12集成在目标应用11中。
作为一个示例,应用widget管理12包括事件广播接收器、界面刷新接口以及与应用业务交互接口等。其中,事件广播接收器用于监听目标widget的各类控件事件。应用widget管理12可以将通过事件广播接收器监听到的目标widget的控件事件通知给目标应用11。界面刷新接口用于触发界面刷新流程。比如,界面刷新接口用于调用应用widget服务13,通过应用widget服务13获取目标widget的界面刷新数据,该界面刷新数据用于指示目标widget刷新后的显示界面。应用业务交互接口用于与目标应用11进行业务交互。
应用widget服务(APP widget service)13负责***侧关于widget的相关业务管理。比如,在需要将目标widget添加至第二终端20时,获取目标widget的界面相关数据,该界面相关数据用于指示目标widget的显示界面。或者,在确定目标widget的显示界面需要进行刷新时,获取目标widget的界面刷新数据。或者,负责记录widget的相关数据等。
作为一个示例,应用widget服务13包括widget添加接口和widget刷新接口。widget添加接口用于获取目标widget的界面相关数据。widget刷新接口用于获取目标widget的界面刷新数据。可选地,应用widget服务13还具有widget数据记录管理功能,widget数据记录管理功能用于记录widget的相关数据,比如记录widget添加数据或widget刷新数据等。
示例地,若第一终端10确定目标widget的显示界面需要进行刷新,则可以调用应用widget管理12的界面刷新接口,通过调用的界面刷新接口向应用widget服务13发送刷新消息。应用widget服务13接收到刷新消息后,调用应用widget服务13的widget刷新接口,通过调用的widget刷新接口,获取目标widget的界面刷新数据。
跨设备服务14负责跨设备信息数据传输。比如,负责向第二终端20发送widget添加请求或widget刷新请求。或者,负责接收第二终端20发送的目标应用的widget的控件事件等。另外,跨设备服务14还可以对目标widget的界面相关数据或界面刷新数据进行打包处理,或者对与第一终端10建立连接的设备或者widget添加设备进行查询,以查询与第一终端10建立连接的设备或者widget添加设备的设备信息,或者设备是否支持跨设备添加widget功能等。其中,设备信息包括设备类型、设备的软件版本或***版本等。支持跨设备添加widget功能是指能够基于其他设备发送的widget添加请求来添加widget。widget添加设备是指跨设备添加widget的设备。
作为一个示例,跨设备服务14包括widget添加接口、widget刷新接口和widget控件事件传输接口。widget添加接口用于向第二终端20发送widget添加请求,widget添加请求携带目标widget的界面相关数据。可选地,widget添加接口还用于对目标widget的界面相关数据进行打包处理,以向第二终端20发送携带打包处理后的界面相关数据的widget添加请求。widget刷新接口用于向第二终端20发送widget刷新请求,widget刷新请求携带目标widget的界面刷新数据。可选地,widget刷新接口还用于对目标widget的界面刷新数据进行打包处理,以向第二终端20发送携带打包处理后的界面刷新数据的widget刷新请求。widget控件事件传输接口用于传输目标widget的控件事件。比如,接收第二终端20发送的目标widget的控件事件,或者将目标widget的控件事件发送给应用widget管理12。
可选地,跨设备服务14还包括widget添加设备查询接口,widget添加设备查询接口用于对建立连接的设备或widget添加设备进行查询,以查询建立连接的设备或widget添加设备的设备信息。
桌面启动器21负责widget的显示框架以及widget的控件事件的处理传输。示例地,桌面启动器21可以为类似安卓***的桌面启动器(Launcher)。
比如,桌面启动器21可以基于第一终端10发送的目标widget的界面相关数据,在第二终端20的显示界面上创建目标widget的显示界面。或者,基于第一终端10发送的目标widget的界面刷新数据,对目标widget的显示界面进行刷新。或者,若检测到对目标widget的指定操作,则向跨设备服务22发送目标widget的控件事件。示例地,桌面启动器21包括widget界面刷新接口,widget界面刷新接口用于对widget的显示界面进行刷新。
跨设备服务22负责跨设备信息数据传输。比如,负责接收第一终端10发送的widget添加请求或widget刷新请求。或者,负责向第一终端10发送目标应用的widget的控件事件等。
作为一个示例,跨设备服务22包括widget接收接口、widget界面刷新接口和widget控件事件传输接口。其中,widget接收接口用于接收widget添加请求,将widget添加请求发送给桌面启动器21,以指示桌面启动器21创建目标widget的显示界面。widget界面刷新接口用于接收widget刷新请求,将widget刷新请求发送给桌面启动器21,以指示桌面启动器21对目标widget的显示界面的显示界面进行刷新。widget控件事件传输接口用于传输目标widget的控件事件。比如,将目标widget的控件事件发送给第一终端10。
本申请实施例中,为了方便用户通过第一终端为第二终端添加widget,第一终端还可以为用户提供为其他设备添加widget的操作界面,以便用户通过该操作界面,方便地为其他设备添加widget。其中,该操作界面可以包括一个或多个widget标识,用户可以从这一个或多个widget标识中选择待添加的目标widget的widget标识。其中,widget标识用于唯一标识widget,可以为widget的名称、身份标识号(identity document,ID)或图标等,本申请实施例对此不作限定。另外,该操作界面还可以包括一个或多个设备的设备标识,用户可以从这一个或多个设备的设备标识中选择想要添加目标widget的第二终端的设备标识,以将目标widget添加至第二终端中。其中,设备标识用于唯一标识对应设备,可以为设备的型号、名称或ID等。该操作界面可以由用户通过widget添加操作触发,该widget添加操作可以为长按主界面等显示界面的空白区域的操作,或者点击设置菜单中添加widget选项的操作等,本申请实施例对此也不作限定。
为了便于理解,本申请以下实施例将以第一终端为手机、第二终端为智能手表为例,结合附图和应用场景,对通过第一终端为第二终端添加widget的过程进行介绍。目前,大多数智能手表具有可以触控的显示屏幕,而且设备体积小、可以长时间佩戴,因此在这类智能手表中添加widget,可以通过添加的widget快速查看信息或实现快捷操作功能。
图5是本申请实施例提供的一种跨设备添加widget的图形用户界面(graphicaluser interface,GUI)示意图。其中,图5中的(a)图示出了解锁模式下,手机当前输出的界面内容501,该界面内容501显示了多款应用程序(application,App),例如音乐、相机、设置和视频等应用程序。应理解,界面内容501还可以包括其他更多的应用程序,本申请实施例对此不作限定。当用户想要通过手机为其他设备添加widget时,可以通过widget添加操作,触发手机显示widget添加界面,以便用户通过widget添加界面选择想要添加的widget。
如图5中的(a)图所示,用户长按界面内容501中的空白区域,响应于用户的长按操作,手机将显示桌面设置界面。图5中的(b)图示出了桌面设置界面502,桌面设置界面502包括壁纸、窗口小工具、切换效果和桌面设置等设置选项。其中,窗口小工具用于添加widget。如图5中的(b)图所示,用户可以点击窗口小工具选项,响应于用户的点击操作,手机显示widget添加界面。其中,widget添加界面可以包括一个或多个widget标识,用户可以基于这一个或多个widget标识选择想要添加的目标widget。
图5中的(c)图示出了一种widget添加界面503,widget添加界面503包括多个widget的图标,如widget1、widget2和widget3的图标。应理解,widget添加界面503还可以包括其他更多的widget的图标,本申请实施例对此不作限定。用户可以从显示的widget的图标中选择想要添加的widget的图标。如图5中的(c)图所示,用户点击widget2的图标,响应于用户的点击操作,手机显示设备选择界面,设备选择界面显示有可添加的设备的设备标识,用户可以从显示的设备标识中选择想要将widget2添加到的设备的设备标识,以将widget2添加至选择的设备标识所标识的设备中。其中,可添加的设备为已与手机建立连接的设备,或者,已与手机建立连接且支持跨设备添加widget功能的设备。
图5中的(d)图示出了一种设备选择界面504,设备选择界面504包括添加到本地、添加到设备1、添加到设备2和添加到设备3等选项。应理解,设备选择界面504还可以包括其他更多的可添加的设备,本申请实施例对此不作限定。如图5中的(d)图所示,用户点击添加到设备1,响应于用户的点击操作,手机向设备1发送widget添加确认消息,widget添加确认消息可以携带手机的设备信息。设备1接收到widget添加确认消息后,可以显示widget添加询问信息,widget添加询问信息用于提示用户是否同意添加手机中的widget。
图6是本申请实施例提供的另一种跨设备添加widget的图形用户界面示意图。假设设备1为智能手表,在接收到手机发送的widget添加确认消息后,智能手表可以显示如图6中的(a)图所示的widget添加询问界面601。widget添加询问界面601显示有widget添加询问信息:是否同意添加手机的widget,以及同意选项和取消选项。若用户同意添加手机的widget,则点击同意选项,响应于用户的点击操作,智能手表将向手机发送确认添加消息,该确认添加消息用于指示同意添加手机的widget。
手机接收到智能手表发送的确认添加消息后,即可向智能手表发送widget添加请求,widget添加请求携带widget2的界面相关数据。另外,手机在发送widget添加请求的过程中,还可以显示数据传输信息,数据传输信息用于指示手机正在传输widget2的界面相关数据。图6中的(b)图示出了一种智能手表的数据传输界面602,数据传输界面602显示有数据传输信息:widget数据传输中。
另外,智能手表在接收手机传输的widget数据的过程中,还可以显示数据接收信息,数据接收信息用于指示智能手表正在接收widget2的界面相关数据。图6中的(c)图示出了一种智能手表的数据接收界面603,数据接收界面603显示有数据接收信息:widget数据接收中。智能手表接收完数据后,可以根据接收到的widget2的界面相关数据,在智能手表的某个显示界面中添加widget2。其中,添加widget2的显示界面可以为指定界面,也可以由用户进行选择。
作为一个示例,用户可以通过左右滑动显示界面的方式,来选择想要添加widget2的显示界面。图6中的(d)图示出了一种智能手表的显示界面604,如图6中的(d)图所示,用户可以按照图6中的(d)图所示的方向滑动显示界面,响应于用户的滑动操作,智能手表可以显示其他显示界面。另外,用户选择的显示界面上还可以显示有widget添加入口,用户可以通过触发widget添加入口,来触发智能手表在当前显示界面上添加widget2。比如,widget添加入口可以为图6中的(d)图所示的加号。若用户想要在当前显示界面上添加widget2,用户可以点击图6中的(d)图所示的加号,响应于用户的点击操作,智能手表基于接收到的widget2的界面相关数据,在当前显示界面上添加widget2。图6中的(e)图示出了一种添加widget2后的显示界面605,显示界面605显示有widget2的显示界面。
在智能手表中添加widget2之后,用户还可以通过对智能手表中的widget2进行操作,来控制手机中的目标应用,目标应用是指与widget2关联的应用。比如,可以通过对智能手表中widget2进行操作,触发widget2的控件事件,智能手表将触发的widget2的控件事件发送给手机,手机中的目标应用基于接收的控件事件执行相应的业务,并将业务数据返回给智能手表。
本申请实施例中,通过第一终端为第二终端添加的目标widget是与第一终端安装的目标应用关联的widget,也即是,目标widget可以为第一终端安装的目标应用的任一widget。目标widget具有目标应用的部分功能。
示例地,目标应用可以为音乐应用、视频应用或地图应用等。音乐应用的widget可以为音乐应用的音乐播放界面,用于实现对音乐应用的信息查看和播放控制等。视频应用的widget可以为视频应用的视频播放界面,用于实现对视频应用的信息查看和播放控制等。地图应用的widget可以为地图应用的导航界面,用于实现对导航路线的显示指导功能等。应理解,目标widget还可以为与目标应用关联的其他显示界面,可以具有目标应用的其他相关功能,本申请实施例对此不作限定。
接下来,以通过手机为智能手表中添加目标应用的目标widget为例,对智能手表中添加的目标widget进行举例说明。
请参考图7,图7是本申请实施例提供的一种音乐应用以及音乐应用的widget的图形用户界面示意图。其中,图7中的(a)图示出了一种手机在打开音乐应用的情况下,输出的音乐应用的音乐播放界面701。音乐播放界面701显示有歌名、歌曲专辑封面、歌词、播放器的播放、上一首/下一首、收藏、列表播放顺序、设置菜单等按钮。应理解,音乐播放界面701还可以包括其他更多的数据和功能按钮,本申请实施例对此不作限定。图7中的(b)图示出了一种在智能手表中添加音乐应用的widget后的显示界面702,如图7中的(b)图所示,音乐应用的widget的显示界面为简略的音乐播放界面,包括歌名、歌曲专辑封面、播放器的播放、上一首/下一首、收藏、列表播放顺序、设置菜单等按钮,用于实现对音乐应用的信息查看和播放控制等。比如,用户可以基于智能手表添加的音乐应用的widget,直接进行上一首或下一首歌曲的切换、歌曲播放进度的调节、歌曲收藏以及播放状态的切换等。应理解,音乐应用的widget的显示界面还可以为其他界面内容,本申请实施例对此不作限定。
请参考图8,图8是本申请实施例提供的一种视频应用以及视频应用的widget的图形用户界面示意图。其中,图8中的(a)图示出了一种手机在打开视频应用的情况下,输出的视频应用的视频播放界面801。视频播放界面801显示有视频名称、视频画面、播放器的播放、音量调节、缩放、下载、收藏等按钮。应理解,视频播放界面801还可以包括其他更多的数据和功能按钮,本申请实施例对此不作限定。图8中的(b)图示出了一种在智能手表中添加视频应用的widget后的显示界面802,如图8中的(b)图所示,视频应用的widget的显示界面为简略的视频播放界面,包括视频画面、播放器的播放等按钮,用于实现对视频应用的信息查看和播放控制等。用户可以基于智能手表添加的音乐应用的widget,直接进行视频的切换、视频播放进度的调节、音量的调节、亮度的调节以及播放状态的切换等。应理解,视频应用的widget的显示界面还可以为其他界面内容,本申请实施例对此不作限定。比如,用户可以通过旋转智能手表的旋钮来控制视频应用的播放进度、音量或亮度等,提高控制的精准度。
请参考图9,图9是本申请实施例提供的一种地图应用以及地图应用的widget的图形用户界面示意图。其中,图9中的(a)图示出了一种手机在打开地图应用的情况下,输出的地图应用的导航界面901。导航界面901显示有导航方向、道路信息、退出以及设置等按钮。应理解,导航界面901还可以包括其他更多的数据和功能按钮,本申请实施例对此不作限定。图9中的(b)图示出了一种在智能手表中添加地图应用的widget后的显示界面902,如图9中的(b)图所示,地图应用的widget的显示界面为简略的导航界面,包括导航方向、所在道路等重要导航信息,用于实现导航路线的显示指导功能。地图应用的widget的显示界面可以按照指定策略进行刷新,比如周期性进行刷新,以便向用户显示最新的导航界面。应理解,地图应用的widget的显示界面还可以为其他界面内容,本申请实施例对此不作限定。
接下来,结合附图对本申请实施例提供的添加widget的方法进行详细阐述。
图10是本申请实施例提供的一种添加widget的方法流程图,该方法的交互主体为第一终端和第二终端。参见图10,该方法包括:
步骤1001:第一终端确定待添加的目标widget,目标widget是与已安装的目标应用关联的widget。
目标应用可以为第一终端安装的任一应用,且目标应用关联有一个或多个widget。目标widget可以为目标应用的任一widget。目标widget具有目标应用的部分功能,目标widget的显示界面包括与目标应用相关的部分数据和/或控件。目标widget中的控件能够触发目标应用的某些功能。
比如,目标应用可以为音乐应用、视频应用或地图应用等,当然也可以为能够提供widget的其他应用。音乐应用的widget可以为音乐应用的音乐播放界面;视频应用的widget可以为视频应用的视频播放界面;地图应用的widget可以为地图应用的导航界面等。应理解,目标widget还可以为与目标应用关联的其他显示界面,本申请实施例对此不作限定。
需要说明的是,待添加的目标widget可以由第一终端默认设置,也可以由用户选择得到。比如,第一终端可以显示一个或多个widget标识,用户可以从这一个或多个widget标识选择一个widget标识,响应于用户的选择操作,第一终端即可将用户选择的widget标识所标识的widget确定为待添加的widget。
再者,widget标识用于唯一标识对应widget,可以为widget的名称、身份标识号(identity document,ID)或图标等,本申请实施例对此不作限定。
作为一个示例,若检测到widget添加操作,则第一终端可以显示widget添加界面,widget添加界面包括一个或多个widget标识。若检测到对widget添加界面中任一widget标识的选择操作,则将选择的widget标识所标识的widget确定为待添加的widget。比如,该widget添加界面可以为图5中的(c)所示的widget添加界面503。
需要说明的是,widget添加操作可以为点击操作、滑动操作、语音操作或手势操作等。比如,widget添加操作可以为长按主界面的空白区域的操作,或者为点击窗口小工具的操作等,本申请实施例对此不作限定。其中,窗口小工具用于触发添加widget。
步骤1002:第一终端若接收到将目标widget添加至第二终端的指令,则获取目标widget的界面相关数据,界面相关数据用于指示目标widget的显示界面。
需要说明的是,目标widget的界面相关数据可以包括widget显示数据和widget控制数据中的一种或多种。
widget显示数据用于指示目标widget的布局、目标widget的界面大小、目标widget上各个控件的类型、位置、图标、颜色中的一种或多种。目标widget的布局用于指示目标widget的结构,比如用于指示目标widget中包括哪些数据和控件等。作为一个示例,widget显示数据包括目标widget的布局文件、用于配置目标widget的界面大小的配置文件、用于配置目标widget上各个控件的类型和位置的配置文件、目标widget上各个控件的图标文件和颜色定义文件中的一种或多种。
widget控制数据用于指示目标widget上各个控件的控件对象、控件事件中的一种或多种。控件的控件事件包括控件被触发的响应事件,如点击响应事件等。作为一个示例,widget控制数据包括用于配置目标widget上各个控件的控件对象的配置文件,以及用于配置目标widget上各个控件的控件事件的配置文件中的一种或多种。作为一个示例,widget控制数据可以通过定义的Remount View对象进行配置。Remount View对象可以包含目标widget上各个控件的控件对象和控件事件中的一种或多种。
再者,将目标widget添加至第二终端的指令可以通过设备选择操作触发,设备选择操作可以为点击操作、滑动操作、语音操作或手势操作等。
作为一个示例,第一终端在确定待添加的目标widget之后,可以显示一个或多个终端的终端标识。若检测到对显示的一个或多个终端标识中任一终端标识的选择操作,则确定接收到将目标widget添加至选择的终端标识所标识的终端的指令,选择的终端标识所标识的终端为第二终端。
需要说明的是,一个或多个终端为已与第一终端建立连接的终端。比如,一个或多个终端为已与第一终端建立近距离无线通信连接的终端,如通过蓝牙或WIFI等与第一终端建立近距离无线通信连接的终端。
可选地,一个或多个终端为已与第一终端建立连接,且支持跨设备添加widget功能的终端。其中,支持跨设备添加widget功能的终端是指能够基于其他设备发送的widget添加请求添加widget的终端。
作为一个示例,第一终端在确定待添加的目标widget之后,可以先搜索已与第一终端建立连接的终端,然后从搜索到的终端中确定支持跨设备添加widget功能的终端,得到一个或多个终端,再显示这一个或多个终端的终端标识。
其中,从搜索到的终端中确定支持跨设备添加widget功能的终端的操作可以包括以下几种实现方式:
第一种实现方式:对于搜索到的任一终端,获取该终端的设备信息,根据该终端的设备信息,确定该终端是否支持跨设备添加widget功能。
需要说明的是,终端的设备信息包括终端的类型、终端的软件版本或***版本中的一种或多种。示例地,可以根据该终端的设备信息,以及存储的设备信息与是否支持跨设备添加widget功能的支持信息之间的对应关系,来确定该终端是否支持跨设备添加widget功能。
第二种实现方式:对于搜索到的任一终端,获取该终端的设备标记,根据该终端的设备标记,确定该终端是否支持跨设备添加widget功能。其中,该终端的设备标记用于指示该终端是否支持跨设备添加widget功能。
需要说明的是,终端的设备标记可以由该终端发送得到。比如,该终端可以在与第一终端建立连接后,根据本端的设备信息,确定该终端是否支持跨设备添加widget功能,基于该终端是否支持跨设备添加widget功能生成该终端的设备标记,然后通过建立的连接向第一终端发送该终端的设备标记。第一终端接收到该终端的设备标记之后,可以对该终端的设备标记进行存储,以便后续基于存储的设备标记确定该终端是否支持跨设备添加widget功能。
作为一个示例,如图4所示,第一终端可以通过跨设备服务14来查询连接的终端是否支持跨设备添加widget功能。比如,可以通过跨设备服务14的widget添加设备查询接口,来查询连接的设备是否支持跨设备添加widget功能。
作为一个示例,第一终端接收到将目标widget添加至第二终端的指令之后,还可以存储目标widget的添加数据。如图4所示,第一终端可以通过应用widget服务13存储目标widget的添加数据,比如通过应用widget服务13创建目标widget的添加数据记录。
其中,目标widget的添加数据可以包括以下数据中的一种或多种:目标widget的widget标识、添加事件和添加时间等,当然还可以包括目标widget的其他添加数据,本申请实施例对此不作限定。
步骤1003:第一终端向第二终端发送widget添加请求,widget添加请求携带该界面相关数据,widget添加请求用于请求第二终端基于该界面相关数据添加目标widget。
作为一个示例,第一终端向第二终端发送widget添加请求之前,可以先对目标widget的界面相关数据进行打包处理,再向第二终端发送widget添加请求,该widget添加请求携带打包处理后的界面相关数据。
作为一个示例,如图4所示,第一终端可以通过跨设备添加服务14,向第二终端发送widget添加请求。比如,通过跨设备添加服务14的widget添加接口,对目标widget的界面相关数据进行打包处理,向第二终端发送携带打包处理后的界面相关数据的widget添加请求。
在另一实施例中,若接收到将目标widget添加至第二终端的指令,还可以先向第二终端发送widget添加确认消息。第二终端接收到widget添加确认消息后,可以显示widget添加询问信息,widget添加询问信息用于提示用户是否同意从第一终端添加目标widget。第二终端若基于显示的widget添加询问信息检测到用户的确认添加操作,则向第一终端发送确认添加消息,该确认添加消息用于指示同意从第一终端添加目标widget。第一终端接收到该确认添加消息后,再获取目标widget的界面相关数据,将目标widget的界面相关数据发送给第二终端。
步骤1004:第二终端接收第一终端发送的widget添加请求,基于该界面相关数据,在第二终端中添加目标widget。
第一终端可以基于该界面相关数据,在第二终端的显示界面中添加目标widget。在第二终端的显示界面中添加目标widget后,可以在第二终端的显示界面中显示目标widget的显示界面。其中,目标widget的显示界面可以占据第二终端的显示界面的全部或部分区域,本申请实施例对此不作限定。
以第二终端为智能手表为例,在智能手表中添加音乐应用的widget后的显示界面可以如图7中的(b)图所示。在智能手表中添加视频应用的widget后的显示界面可以如图8中的(b)图所示。在智能手表中添加地图应用的widget后的显示界面可以如图9中的(b)图所示。
其中,用于添加目标widget的显示界面可以由第二终端默认设置,也可以由用户选择得到。比如,在基于该界面相关数据,在第二终端中添加目标widget之前,可以基于用户的界面选择操作,确定待添加目标widget的目标显示界面,然后基于该界面相关数据,在目标显示界面中添加目标widget。
需要说明的是,该界面选择操作可以为点击操作、滑动操作、语音操作或手势操作等,本申请实施例对此不作限定。比如,该界面选择操作可以在向左或向右滑动显示界面后,对当前显示界面的空白区域的长按操作,或者对当前显示界面中的widget添加入口的点击操作等。
作为一个示例,基于该界面相关数据,在第二终端中添加目标widget的操作包括:基于该界面相关数据,在第二终端的显示界面上创建目标widget的显示界面,以实现在第二终端中添加目标widget。
作为一个示例,基于该界面相关数据,在第二终端的显示界面上创建目标widget的显示界面的操作包括:创建widget视图对象,以及在第二终端的显示界面上创建widget视图对象的显示区域;创建与该界面相关数据对应的实体视图;将该实体视图添加在widget视图对象的显示区域中,得到目标widget的显示界面,从而完成目标widget在第二终端的显示。
其中,widget视图对象可以为APP Widget Host View对象,实体视图可以为实体View。第二终端可以根据该界面相关数据中的widget显示数据,创建与该界面相关数据对应的实体视图。
作为一个示例,如图4所示,第二终端可以通过跨设备服务22接收第一终端发送的widget添加请求,然后通过桌面启动器21,基于目标widget的界面相关数据在第二终端中添加目标widget。跨设备服务22接收第一终端发送的widget添加请求之后,可以将该widget添加请求发送给桌面启动器21,桌面启动器21可以通过widget显示框架,在第二终端中添加目标widget。
在一种可能的实现方式中,第二终端在基于该界面相关数据,在第二终端中成功添加目标widget之后,还可以向第一终端发送添加成功通知,该添加成功通知用于指示第二设备已成功添加目标widget。
第一终端接收到该添加成功通知之后,还可以存储成功添加目标widget的第二终端的设备信息。比如,通过第一终端的应用widget服务存储成功添加目标widget的第二终端的设备信息。示例地,可以通过第一终端的应用widget服务,将成功添加目标widget的第二终端的设备信息存储在widget数据库中。
另外,在第二终端中添加目标widget之后,用户还可以通过对第二终端中的目标widget进行操作,来控制第一终端中的目标应用,也即是,能够实现目标widget的跨设备操作。目标widget的跨设备操作流程可以包括如下步骤1005-1009。
步骤1005:第二终端若检测到针对添加的目标widget的widget操作,则向第一终端发送该widget操作触发的目标widget的控件事件。
其中,widget操作是指针对目标widget的操作,用于触发目标widget的控件事件。比如,widget操作可以是对目标widget中任一控件的触发操作,如对目标widget中任一控件的点击操作或滑动操作等。或者,widget操作也可以是在第一终端显示目标widget的过程中,对第一终端的物理按键的触发操作,或对第一终端的旋钮的旋转操作等。当然,widget操作也可以为其他针对目标widget的操作,如语音操作或手势操作等,本申请实施例对此不作限定。
作为一个示例,若检测到针对添加的目标widget的widget操作,则向第一终端发送该widget操作触发的目标widget的控件事件包括:若检测到对目标widget的第一控件的触发操作,则基于该界面相关数据确定第一控件对应的控件事件;将第一控件对应的控件事件发送给第一终端。
其中,第一控件的触发操作可以为对第一控件的点击操作或滑动操作,也可以为语音操作或手势操作等,本申请实施例对此不作限定。第一控件为目标widget的任一控件。
作为一个示例,若基于添加的目标widget检测到指定操作,第二终端可以触发一个类似广播的消息,然后将该消息发送给第一终端。其中,该消息携带指定操作触发的目标widget的控件事件。
作为一个示例,如图4所示,第二终端可以通过桌面启动器21检测针对添加的目标widget的widget操作,若检测到针对添加的目标widget的widget操作,则通过桌面启动器21的widget控件事件发送接口,将该widget操作触发的目标widget的控件事件发送给跨设备服务22,通过跨设备服务22将该控件事件发送给第一终端。
步骤1006:第一终端接收第二终端发送的目标widget的控件事件,触发目标应用执行该控件事件对应的业务。
假设目标应用为音乐应用,目标widget为音乐应用的widget,若该控件事件为对音乐应用的widget中切换至下一首歌曲按钮的点击事件,则即可触发音乐应用执行切换至下一首歌曲的业务。
作为一个示例,第一终端可以通过应用程序框架层中的跨设备服务接收第二终端发送的目标widget的控件事件。另外,第一终端可以通过应用程序层中的应用widget管理监听目标widget的控件事件,若监听到目标widget的控件事件,则触发目标应用执行该控件事件对应的业务。
作为一个示例,请参考图4,第一终端可以通过跨设备服务14接收第二终端发送的目标widget的控件事件。另外,第一终端可以通过应用widget管理12的事件广播接收器监听目标widget的控件事件,若监听到目标widget的控件事件,则触发目标应用11执行该控件事件对应的业务。
步骤1007:第一终端在目标应用执行该控件事件对应的业务之后,若基于目标应用执行的业务确定目标widget需要进行界面刷新,则获取目标widget的界面刷新数据,该界面刷新数据用于指示目标widget刷新后的显示界面。
其中,目标widget的界面刷新数据可以包括目标widget的widget显示数据和widget控制数据中的一种或多种。
作为一个示例,第一终端可以通过应用程序框架层中的应用widget服务,获取目标widget的界面刷新数据。如图4所示,第一终端可以通过应用widget服务13的widget刷新接口,来获取目标widget的界面刷新数据。
步骤1008:第一终端向第二终端发送widget刷新请求,widget刷新请求携带该界面刷新数据,widget刷新请求用于请求第二终端基于该界面刷新数据对目标widget的显示界面进行刷新。
作为一个示例,第一终端向第二终端发送widget刷新请求之前,可以先对目标widget的界面刷新数据进行打包处理,再向第二终端发送widget刷新请求,该widget刷新请求携带打包处理后的界面刷新数据。
作为一个示例,第一终端可以通过应用程序框架层的跨设备服务,向第二终端发送widget刷新请求。如图4所示,第一终端可以通过跨设备服务14的刷新接口,对目标widget的界面刷新数据进行打包处理,向第二终端发送携带打包处理后的界面刷新数据的widget刷新请求。
步骤1009:第二终端接收第一终端发送的widget刷新请求,基于该界面刷新数据,对目标widget的显示界面进行刷新。
作为一个示例,如图4所示,第二终端可以通过跨设备服务22接收第一终端发送的widget刷新请求,然后通过桌面启动器21,基于目标widget的界面刷新数据对目标widget的显示界面进行刷新。跨设备服务22接收第一终端发送的widget刷新请求之后,可以将该widget添加刷新发送给桌面启动器21,桌面启动器21可以通过widget显示框架对目标widget进行刷新。
为了便于理解,接下来以目标widget为音乐应用的widget为例,结合附图7对音乐应用的widget的跨设备操作流程进行说明。如图7所示,通过手机为智能手表添加了音乐应用的widget,智能手表中添加的音乐应用的widget为图7中的(b)图所示的音乐播放界面。用户可以通过对智能手表添加的音乐应用的widget进行widget操作,直接控制手机中的音乐应用实现上一首或下一首歌曲的切换、歌曲播放进度的调节、歌曲收藏以及播放状态的切换等功能。widget操作可以包括对智能手表添加的音乐应用的widget中的控件的触发操作,或者对智能手表的物理按键或旋钮的操作等。
作为一个示例,音乐应用的widget的跨设备操作流程包括:
1)用户在智能手表添加的音乐应用的widget中点击下一首按钮。
2)响应于用户的点击操作,智能手表向手机发送点击操作触发的控件事件。
3)手机接收到该控件事件后,触发手机中的音乐应用执行切换至下一首歌曲的业务,并将切换至下一首歌曲后的界面刷新数据发送给智能手表。
4)智能手表接收到该界面刷新数据后,基于该界面刷新数据对音乐应用的widget进行刷新,以将音乐应用的widget的显示界面刷新为切换至下一首歌曲后的显示界面。
接下来以目标widget为视频应用的widget为例,结合附图8对视频应用的widget的跨设备操作流程进行说明。如图8所示,通过手机为智能手表添加了视频应用的widget,智能手表中添加的视频应用的widget为图8中的(b)图所示的视频播放界面。用户可以通过对智能手表添加的视频应用的widget进行widget操作,直接控制手机中的视频应用实现视频的切换、视频播放进度的调节、音量的调节、亮度的调节以及播放状态的切换等功能。widget操作可以包括对智能手表添加的视频应用的widget中的控件的触发操作,或者对智能手表的物理按键或旋钮的操作等。
作为一个示例,视频应用的widget的跨设备操作流程包括:
1)用户在智能手表中设置通过旋转旋钮控制视频播放进度。
2)用户旋转智能手表的旋钮,响应于用户的旋转操作,智能手表向手机发送旋转操作触发的控件事件。比如,该控件事件可以为旋钮旋转1°所触发的驱动播放进度条改变0.5的控件事件。
3)手机接收到该控件事件后,触发手机中的视频应用调整播放进度,完成播放进度条的改变,并将播放进度调整后的界面刷新数据发送给智能手表。
4)智能手表接收到该界面刷新数据后,基于该界面刷新数据对视频应用的widget进行刷新,以将视频应用的widget的显示界面刷新为播放进度调整后的显示界面。
接下来,以目标widget为地图应用的widget为例,结合附图9对地图应用的widget的跨设备操作流程进行说明。如图9所示,通过手机为智能手表添加了地图应用的widget,智能手表中添加的地图应用的widget为图9中的(b)图所示的导航界面。用户可以通过对智能手表添加的地图应用的widget,快速查看导航信息。另外,地图应用的widget还可以按照指定策略进行刷新,比如周期性进行刷新,以便向用户显示最新的导航界面。
作为一个示例,地图应用的widget的跨设备操作流程包括:
1)手机中的地图应用开始导航后,周期性向智能手表发送地图应用的widget的界面刷新数据,即周期性地向智能手表发送刷新后的导航数据。
比如,手机中的地图应用每隔1秒进行一次刷新,并向智能手表发送地图应用的widget的界面刷新数据。
2)智能手表接收到该界面刷新数据后,基于该界面刷新数据对地图应用的widget进行刷新,以将地图应用的widget的显示界面刷新为最新的导航界面,从而完成导航界面的刷新。
相关技术中,上述音乐应用、视频应用和地图应用等第三方应用的widget通常只能添加在手机中,占据手机桌面的显示空间。若用户想要实现上述第三方应用的widget的相关功能,需要先拿出手机,对手机进行解锁,在多次滑动桌面找到第三方应用的widget,才能操作widget的相关功能。另外,目前智能手表安装的widget通常是为智能手表固定定制的widget,所安装的widget的功能和显示数据较为单一,对于其他能够添加在手机上的大量第三方应用的widget,智能手表并不支持添加,灵活的较低。而本申请实施例中通过跨设备添加widget的方式,可以通过手机将上述目标应用的widget添加在智能手表中,从而能够在智能手表中任意添加第三方应用的widget,扩展了widget添加方式,增强了智能手表的功能性。
另外,通过将上述目标应用的widget添加在智能手表中,用户抬起智能手表即可对添加的widget进行查看和操作,方便了用户的操作。比如,在驾驶车辆的场景中,如果使用手机的地图应用查看导航信息,则需要将手机固定在车辆的支架上进行查看;在骑行的场景下,如果使用手机的地图应用查看导航信息,由于自行车上很少会安装手机支架,也就需要边骑行边拿着手机进行查看,上述通过手机进行查看的方式对于用户来非常不方便,且存在安全隐患。而通过本申请实施例提供的跨设备添加widget的方法,可以通过手机在智能手表中添加地图应用的widget,这样,用户抬起手腕上的智能手表,即可通过智能手表中添加的地图应用的widget快速查看导航信息,从而方便了用户的操作,在一定程度上减小了安全隐患。
本申请实施例中,可以通过第一终端来为第二终端添加目标应用的widget,实现了widget的跨设备添加,使得第二终端在不安装目标应用的情况下,也能够添加目标应用的widget,从而减少了安装目标应用对第二终端的存储资源和处理资源的耗费,扩展了widget的添加方式。另外,在第二终端添加的widget后,通过第二终端添加的widget还可以快速查看第一终端中目标应用的应用数据,避免了目标应用或目标应用的widget对第一终端的界面显示空间的占用。另外,通过第二终端添加的widget,还可以对第一终端的目标应用进行操控,比如触发第一终端中目标应用的相关功能,从而方便了用户的操作,扩展了widget的使用方式。
接下来,结合附图4对本申请实施例涉及的widget添加过程进行详细阐述。图11是本申请实施例提供的一种widget添加过程的流程示意图,参见图11,widget添加过程包括:
步骤1101:用户打开第一终端的widget添加界面,基于widget添加界面选择添加目标应用的目标widget。
步骤1102:第一终端通过跨设备服务14,搜索已连接且支持跨设备添加widget功能的设备。
比如,可以调用跨设备服务14的widget添加设备查询接口,通过widget添加设备查询接口,搜索已连接且支持跨设备添加widget功能的设备。
步骤1103:第一终端显示搜索到的设备的设备标识。
比如,显示搜索到的设备的设备型号。
步骤1104:用户基于显示的设备标识,从搜索到的设备中选择待添加目标widget的第二终端。
步骤1105:第一终端基于用户的选择操作,调用应用widget服务13的widget添加接口,触发widget添加流程。
步骤1106:第一终端通过应用widget服务13创建目标widget的添加数据记录,以便之后在对目标widget进行widget操作时可以将目标widget的数据和控件事件发送给对应的widget。
其中,目标widget的添加数据记录可以包括以下数据中的一种或多种:目标widget的widget标识、添加事件和添加时间等。
步骤1107:第一终端通过应用widget服务13判断所触发的widget添加流程是否为跨设备添加widget的流程,若是跨设备添加widget的流程,则获取目标widget的界面相关数据。
另外,第一终端还可以显示将目标widget添加至第一终端的本地添加选项,用户还可以选择本地添加选项,以将目标widget添加至第二终端。
若检测到用户对本地添加选项的选择操作,则所触发的widget添加流程为本地添加widget的流程,这种情况下,第一终端可以通过应用widget服务13将目标widget添加至第一终端。若检测到用户对搜索到的设备的设备标识中任一设备标识的选择操作,则所触发的widget添加流程为跨设备添加widget的流程,这种情况下,可以通过应用widget服务13获取目标widget的界面相关数据,以将目标widget的界面相关数据发送给第二终端。
步骤1108:第一终端通过跨设备服务14,向第二终端发送widget添加请求,该widget添加请求携带目标widget的界面相关数据,以请求第二终端添加目标widget。
步骤1109:第二终端通过跨设备服务22,接收第一终端发送的widget添加请求。
步骤1110:第二终端基于该widget添加请求携带的目标widget的界面相关数据,通过桌面启动器21在第二终端中添加目标widget。
第二终端通过跨设备服务22,接收到第一终端发送的widget添加请求之后,可以将该widget添加请求发送给桌面启动器21。桌面启动器21可以基于该widget添加请求携带的目标widget的界面相关数据,在第二终端中添加目标widget。
步骤1111:第二终端在成功添加目标widget之后,通过跨设备服务22,向第一终端发送添加成功通知,该添加成功通知用于指示第二终端已成功添加目标widget。
步骤1112:第一终端接收到该添加成功通知之后,可以通过应用widget服务13存储成功添加目标widget的第二终端的设备信息。
比如,通过应用widget服务13,将成功添加目标widget的第二终端的设备信息存储在widget数据库中。
需要说明的是,图11仅是本申请实施例提供的一种widget添加过程的示例性说明,并不对widget添加过程进行限定。应理解,widget添加过程的流程还可以为其他流程,本申请实施例对此不作限定。
接下来,结合附图4对本申请实施例涉及的widget刷新过程进行详细阐述。图12是本申请实施例提供的一种widget刷新过程的流程示意图,参见图12,widget刷新过程包括:
步骤1201:用户点击第二终端添加的目标widget中的控件,以便触发相关功能。
步骤1202:第二终端基于用户的点击操作,检测目标widget对应的目标应用所在的第一终端与第二终端是否连接。
如果第一终端与第二终端未连接,则不作响应。如果第一终端与第二终端已连接,则执行下述步骤1203。
步骤1203:第二终端将用户的点击操作触发的目标widget的控件事件,通过第一终端的跨设备服务14和应用widget服务13发送给第一终端的目标应用11。
步骤1204:第一终端的目标应用11可以监听目标widget的控件事件,若监听到目标widget的控件事件,则执行该控件事件对应的业务。
其中,目标应用11可以通过应用widget管理12监听目标widget的控件事件,若应用widget管理12监听到目标widget的控件事件,则触发目标应用11执行该控件事件对应的业务。
步骤1205:在目标应用11执行该控件事件对应的业务之后,若确定目标widget的显示界面需要进行刷新,则通过widget服务管理12向应用widget服务13发送刷新消息。
步骤1206:应用widget服务13基于该刷新消息,获取目标widget的界面刷新数据。
目标应用11在执行该控件事件对应的业务之后,若确定目标widget的显示界面需要进行刷新,则可以通过应用widget服务13获取目标widget的界面刷新数据。
若目标widget为跨设备添加的widget,则可以将目标widget的界面刷新数据发送给目标应用11的应用widget服务13。另外,若目标widget为第一终端本地添加的widget,则还可以将目标widget的界面刷新数据发送给本地的目标widget,以使本地的目标widget也能够对显示界面进行刷新。
步骤1207:第一终端通过跨设备服务14,将目标widget的界面刷新数据发送给第二终端。
第一终端在通过应用widget服务13获取目标widget的界面刷新数据之后,可以先判断添加目标widget的第二终端与第一终端是否已连接。若未连接,则不作响应。若已连接,通过跨设备服务14,将目标widget的界面刷新数据发送给第二终端。
步骤1208:第二终端基于接收的目标widget的界面刷新数据,对目标widget的显示界面进行刷新。
示例地,第二终端可以通过桌面启动器21的widget显示框架,对目标widget的显示界面进行刷新。
需要说明的是,图12仅是本申请实施例提供的一种widget刷新过程的示例性说明,并不对widget刷新过程进行限定。应理解,widget刷新过程的流程还可以为其他流程,本申请实施例对此不作限定。
图13是本申请实施例提供的一种添加widget的装置的结构示意图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为图1所示的第一终端10。参见图13,该装置包括:第一确定模块1301、第一获取模块1302和第一发送模块1303。
第一确定模块,用于执行上述图10实施例中的步骤1001;
第一获取模块,用于执行上述图10实施例中的步骤1002;
第一发送模块,用于执行上述图10实施例中的步骤1003。
可选地,该装置还包括:
显示模块,用于显示一个或多个终端的终端标识,所述一个或多个终端已与所述第一终端建立连接;
第二确定模块,用于若检测到对显示的一个或多个终端标识中任一终端标识的选择操作,则确定接收到将所述目标widget添加至选择的终端标识所标识的终端的指令,所述选择的终端标识所标识的终端为所述第二终端。
可选地,该装置还包括:
搜索模块,用于搜索已与所述第一终端建立连接的终端;
第三确定模块,用于从搜索到的终端中确定支持跨设备添加widget功能的终端,得到所述一个或多个终端,所述支持跨设备添加widget功能的终端是指能够基于其他设备发送的widget添加请求添加widget的终端。
可选地,所述界面相关数据包括widget显示数据和widget控制数据;
其中,所述widget显示数据用于指示所述目标widget的布局、所述目标widget的界面大小、所述目标widget上各个控件的类型、位置、图标、颜色中的一种或多种;所述widget控制数据用于指示所述目标widget上各个控件的控件对象、控件事件中的一种或多种。
可选地,该装置还包括:
触发模块,用于执行上述图10实施例中的步骤1006。
可选地,该装置还包括:
第二获取模块,用于执行上述图10实施例中的步骤1007;
第二发送模块,用于执行上述图10实施例中的步骤1008。
本申请实施例中,可以通过第一终端来为第二终端添加目标应用的widget,实现了widget的跨设备添加,使得第二终端在不安装目标应用的情况下,也能够添加目标应用的widget,从而减少了安装目标应用对第二终端的存储资源和处理资源的耗费,扩展了widget的添加方式。另外,在第二终端添加的widget后,通过第二终端添加的widget还可以快速查看第一终端中目标应用的应用数据,避免了目标应用或目标应用的widget对第一终端的界面显示空间的占用。另外,通过第二终端添加的widget,还可以对第一终端的目标应用进行操控,比如触发第一终端中目标应用的相关功能,从而方便了用户的操作,扩展了widget的使用方式。
图14是本申请实施例提供的另一种添加widget的装置的结构示意图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为图1所示的第二终端20。参见图14,该装置包括:接收模块1401和添加模块1402。
接收模块1401和添加模块1402,用于执行上述图10实施例中的步骤1004。
可选地,添加模块1402用于:
基于所述界面相关数据,在所述第二终端的显示界面上创建所述目标widget的显示界面。
可选地,添加模块1402用于:
创建widget视图对象,以及在所述第二终端的显示界面上创建所述widget视图对象的显示区域;
创建与所述界面相关数据对应的实体视图;
将所述实体视图添加在所述显示区域中,得到所述目标widget的显示界面。
可选地,所述界面相关数据包括widget显示数据和widget控制数据;
其中,所述widget显示数据用于指示所述目标widget的布局、所述目标widget的界面大小、所述目标widget上各个控件的类型、位置、图标、颜色中的一种或多种;所述widget控制数据用于指示所述目标widget上各个控件的控件对象、控件事件中的一种或多种。
可选地,该装置还包括:
发送模块,用于执行上述图10实施例中的步骤1005。
可选地,发送模块用于:
若检测到对所述目标widget的第一控件的触发操作,则基于所述界面相关数据确定所述第一控件对应的控件事件,所述第一控件为所述目标widget的任一控件;
将所述第一控件对应的控件事件发送给所述第一终端。
可选地,该装置还包括:
刷新模块,用于执行上述图10实施例中的步骤1009。
本申请实施例中,可以通过第一终端来为第二终端添加目标应用的widget,实现了widget的跨设备添加,使得第二终端在不安装目标应用的情况下,也能够添加目标应用的widget,从而减少了安装目标应用对第二终端的存储资源和处理资源的耗费,扩展了widget的添加方式。另外,在第二终端添加的widget后,通过第二终端添加的widget还可以快速查看第一终端中目标应用的应用数据,避免了目标应用或目标应用的widget对第一终端的界面显示空间的占用。另外,通过第二终端添加的widget,还可以对第一终端的目标应用进行操控,比如触发第一终端中目标应用的相关功能,从而方便了用户的操作,扩展了widget的使用方式。
需要说明的是:上述实施例提供的添加widget的装置在添加widget时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的添加widget的装置与添加widget的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种添加微件widget的方法,其特征在于,应用于第一终端,所述第一终端的操作***包括目标应用、应用widget服务和第一跨设备服务,所述应用widget服务负责关于widget的相关业务管理,所述第一跨设备服务负责跨设备信息数据传输,所述方法包括:
确定待添加的目标widget,所述目标widget是与已安装的所述目标应用关联的widget;
通过所述第一跨设备服务搜索已与所述第一终端建立连接的终端,从搜索到的终端中确定支持跨设备添加widget功能的终端,得到所述一个或多个终端,所述支持跨设备添加widget功能的终端是指能够基于其他设备发送的widget添加请求添加widget的终端;
在第二终端未安装所述目标应用的情况下,若接收到将所述目标widget添加至第二终端的指令,则通过所述应用widget服务获取所述目标widget的界面相关数据,所述界面相关数据用于指示所述目标widget的显示界面,所述界面相关数据包括widget显示数据和widget控制数据,所述widget显示数据用于指示所述目标widget的布局、所述目标widget的界面大小、所述目标widget上各个控件的类型、位置、图标、颜色中的一种或多种,所述widget控制数据用于指示所述目标widget上各个控件的控件对象、控件事件中的一种或多种,所述第二终端为所述一个或多个终端中的任一个;
通过所述第一跨设备服务向所述第二终端发送widget添加请求,所述widget添加请求携带所述界面相关数据,所述widget添加请求用于请求所述第二终端基于所述界面相关数据添加所述目标widget。
2.如权利要求1所述的方法,其特征在于,所述通过所述应用widget服务获取所述目标widget的界面相关数据之前,还包括:
显示一个或多个终端的终端标识,所述一个或多个终端已与所述第一终端建立连接;
若检测到对显示的一个或多个终端标识中任一终端标识的选择操作,则确定接收到将所述目标widget添加至选择的终端标识所标识的终端的指令,所述选择的终端标识所标识的终端为所述第二终端。
3.如权利要求1或2所述的方法,其特征在于,所述向所述第二终端发送widget添加请求之后,还包括:
接收所述第二终端发送的所述目标widget的控件事件;
触发所述目标应用执行所述控件事件对应的业务。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
在所述目标应用执行所述控件事件对应的业务之后,若基于所述目标应用执行的业务确定所述目标widget需要进行界面刷新,则获取所述目标widget的界面刷新数据,所述界面刷新数据用于指示所述目标widget刷新后的显示界面;
向所述第二终端发送widget刷新请求,所述widget刷新请求携带所述界面刷新数据,所述widget刷新请求用于请求所述第二终端基于所述界面刷新数据对所述目标widget的显示界面进行刷新。
5.一种添加widget的方法,其特征在于,应用于第二终端,所述第二终端的操作***包括桌面启动器和第二跨设备服务,所述桌面启动器负责widget的显示框架以及widget的控件事件的处理传输,所述第二跨设备服务负责跨设备信息数据传输,所述方法包括:
在未安装目标应用的情况下,通过所述第二跨设备服务接收第一终端发送的widget添加请求,所述widget添加请求携带目标widget的界面相关数据,所述界面相关数据用于指示所述目标widget的显示界面,所述界面相关数据包括widget显示数据和widget控制数据,所述widget显示数据用于指示所述目标widget的布局、所述目标widget的界面大小、所述目标widget上各个控件的类型、位置、图标、颜色中的一种或多种,所述widget控制数据用于指示所述目标widget上各个控件的控件对象、控件事件中的一种或多种,所述目标widget是与所述目标应用关联的widget,所述第一终端已安装所述目标应用;
基于所述界面相关数据,通过所述桌面启动器在所述第二终端的显示界面上创建所述目标widget的显示界面;
其中,所述基于所述界面相关数据,通过所述桌面启动器在所述第二终端的显示界面上创建所述目标widget的显示界面,包括:
通过所述桌面启动器创建widget视图对象,以及在所述第二终端的显示界面上创建所述widget视图对象的显示区域;
通过所述桌面启动器创建与所述界面相关数据对应的实体视图;
通过所述桌面启动器将所述实体视图添加在所述显示区域中,得到所述目标widget的显示界面。
6.如权利要求5所述的方法,其特征在于,所述基于所述界面相关数据,通过所述桌面启动器在所述第二终端的显示界面上创建所述目标widget的显示界面之后,还包括:
若检测到针对所述目标widget的widget操作,则向所述第一终端发送所述widget操作触发的所述目标widget的控件事件。
7.如权利要求6所述的方法,其特征在于,所述若检测到针对所述目标widget的widget操作,则向所述第一终端发送所述widget操作触发的所述目标widget的控件事件,包括:
若检测到对所述目标widget的第一控件的触发操作,则基于所述界面相关数据确定所述第一控件对应的控件事件,所述第一控件为所述目标widget的任一控件;
将所述第一控件对应的控件事件发送给所述第一终端。
8.如权利要求6或7所述的方法,其特征在于,所述向所述第一终端发送所述widget操作触发的所述目标widget的控件事件之后,还包括:
接收所述第一终端发送的widget刷新请求,所述widget刷新请求携带所述目标widget的界面刷新数据,所述界面刷新数据用于指示所述目标widget刷新后的显示界面;
基于所述界面刷新数据,对所述目标widget的显示界面进行刷新。
9.一种添加widget的装置,其特征在于,所述装置包括:
第一确定模块,用于确定待添加的目标widget,所述目标widget是与已安装的目标应用关联的widget;
搜索模块,用于通过第一跨设备服务搜索已与第一终端建立连接的终端,所述第一跨设备服务负责跨设备信息数据传输;
第三确定模块,用于通过所述第一跨设备服务从搜索到的终端中确定支持跨设备添加widget功能的终端,得到所述一个或多个终端,所述支持跨设备添加widget功能的终端是指能够基于其他设备发送的widget添加请求添加widget的终端;
第一获取模块,用于在第二终端未安装所述目标应用的情况下,若接收到将所述目标widget添加至第二终端的指令,则通过应用widget服务获取所述目标widget的界面相关数据,所述界面相关数据用于指示所述目标widget的显示界面,所述界面相关数据包括widget显示数据和widget控制数据,所述widget显示数据用于指示所述目标widget的布局、所述目标widget的界面大小、所述目标widget上各个控件的类型、位置、图标、颜色中的一种或多种,所述widget控制数据用于指示所述目标widget上各个控件的控件对象、控件事件中的一种或多种,所述第二终端为所述一个或多个终端中的任一个,所述应用widget服务负责关于widget的相关业务管理;
第一发送模块,用于通过所述第一跨设备服务向所述第二终端发送widget添加请求,所述widget添加请求携带所述界面相关数据,所述widget添加请求用于请求所述第二终端基于所述界面相关数据添加所述目标widget。
10.一种添加widget的装置,其特征在于,所述装置包括:
接收模块,用于在未安装目标应用的情况下,通过第二跨设备服务接收第一终端发送的widget添加请求,所述widget添加请求携带目标widget的界面相关数据,所述界面相关数据用于指示所述目标widget的显示界面,所述界面相关数据包括widget显示数据和widget控制数据,所述widget显示数据用于指示所述目标widget的布局、所述目标widget的界面大小、所述目标widget上各个控件的类型、位置、图标、颜色中的一种或多种,所述widget控制数据用于指示所述目标widget上各个控件的控件对象、控件事件中的一种或多种,所述目标widget是与所述目标应用关联的widget,所述第一终端已安装所述目标应用,所述第二跨设备服务负责跨设备信息数据传输;
添加模块,用于基于所述界面相关数据,通过桌面启动器在第二终端的显示界面上创建所述目标widget的显示界面,所述桌面启动器负责widget的显示框架以及widget的控件事件的处理传输;
其中,所述添加模块具体用于:
通过所述桌面启动器创建widget视图对象,以及在所述第二终端的显示界面上创建所述widget视图对象的显示区域;
通过所述桌面启动器创建与所述界面相关数据对应的实体视图;
通过所述桌面启动器将所述实体视图添加在所述显示区域中,得到所述目标widget的显示界面。
11.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有指令,当所述指令被执行时,实现如权利要求1-4或权利要求5-8任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011419518.0A CN114610419B (zh) | 2020-12-07 | 2020-12-07 | 添加widget的方法、装置及计算机可读存储介质 |
PCT/CN2021/119966 WO2022121445A1 (zh) | 2020-12-07 | 2021-09-23 | 添加widget的方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011419518.0A CN114610419B (zh) | 2020-12-07 | 2020-12-07 | 添加widget的方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114610419A CN114610419A (zh) | 2022-06-10 |
CN114610419B true CN114610419B (zh) | 2023-04-14 |
Family
ID=81855902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011419518.0A Active CN114610419B (zh) | 2020-12-07 | 2020-12-07 | 添加widget的方法、装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114610419B (zh) |
WO (1) | WO2022121445A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117676518A (zh) * | 2022-08-31 | 2024-03-08 | 华为技术有限公司 | 一种卡片跨设备交互方法及电子设备 |
CN116679861A (zh) * | 2022-11-30 | 2023-09-01 | 荣耀终端有限公司 | 一种内容显示方法及其电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556458A (zh) * | 2013-07-19 | 2016-05-04 | 三星电子株式会社 | 用于配置设备的主屏幕的方法和装置 |
CN109525713A (zh) * | 2018-10-30 | 2019-03-26 | 努比亚技术有限公司 | 一种应用程序控制方法、穿戴设备及移动终端 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100759604B1 (ko) * | 2006-01-23 | 2007-09-17 | 주식회사 팬택앤큐리텔 | 비정상적인 업데이트 패킷 수신을 차단하는 서버 실행기반의 fota 시스템 및 방법 |
KR20100050603A (ko) * | 2008-10-21 | 2010-05-14 | 삼성전자주식회사 | 위젯 서비스를 제공하는 시스템 및 그 시스템에서 위젯 정보를 업데이트하는 방법 |
CN101894155A (zh) * | 2010-07-06 | 2010-11-24 | 中兴通讯股份有限公司 | widget的分类方法及***、终端 |
CN102075539B (zh) * | 2011-01-25 | 2016-06-22 | 中兴通讯股份有限公司 | 数据推送***及方法 |
CN102143219B (zh) * | 2011-01-25 | 2015-01-28 | 中兴通讯股份有限公司 | widget资源的共享方法及*** |
CN102694670B (zh) * | 2011-03-23 | 2015-01-28 | 中兴通讯股份有限公司 | 一种三网融合Widget管理平台、实现方法及*** |
-
2020
- 2020-12-07 CN CN202011419518.0A patent/CN114610419B/zh active Active
-
2021
- 2021-09-23 WO PCT/CN2021/119966 patent/WO2022121445A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556458A (zh) * | 2013-07-19 | 2016-05-04 | 三星电子株式会社 | 用于配置设备的主屏幕的方法和装置 |
CN109525713A (zh) * | 2018-10-30 | 2019-03-26 | 努比亚技术有限公司 | 一种应用程序控制方法、穿戴设备及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2022121445A1 (zh) | 2022-06-16 |
CN114610419A (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020103764A1 (zh) | 一种语音控制方法及电子设备 | |
WO2020108356A1 (zh) | 一种应用显示方法及电子设备 | |
CN113434288B (zh) | 内存管理的方法及电子设备 | |
CN114327666B (zh) | 应用启动方法、装置和电子设备 | |
CN114513847B (zh) | 定位方法、装置、***、电子设备及存储介质 | |
CN113805797B (zh) | 网络资源的处理方法、电子设备及计算机可读存储介质 | |
WO2021218429A1 (zh) | 应用窗口的管理方法、终端设备及计算机可读存储介质 | |
CN112860445B (zh) | 一种快应用与原生应用间数据共享的方法及终端 | |
CN113254409A (zh) | 文件共享方法、***及相关设备 | |
CN116009999A (zh) | 卡片分享方法、电子设备及通信*** | |
CN114610419B (zh) | 添加widget的方法、装置及计算机可读存储介质 | |
WO2022166435A1 (zh) | 分享图片的方法和电子设备 | |
WO2022127130A1 (zh) | 一种添加操作序列的方法、电子设备和*** | |
CN114741256B (zh) | 传感器监听方法、装置及终端设备 | |
CN111752648A (zh) | 一种***语言的切换方法及相关装置 | |
CN112740148A (zh) | 一种向输入框中输入信息的方法及电子设备 | |
CN114816463A (zh) | 升级提示方法、终端设备及计算机可读存储介质 | |
WO2022052962A1 (zh) | 应用模块启动方法和电子设备 | |
WO2021238376A1 (zh) | 功能包的加载方法、装置、服务器和电子设备 | |
CN115150502B (zh) | 一种应用小部件的显示方法及装置、存储介质 | |
CN117009005A (zh) | 一种显示方法、汽车和电子设备 | |
CN116662150B (zh) | 应用启动耗时检测方法及相关装置 | |
CN116204093B (zh) | 一种页面显示方法及电子设备 | |
CN117354884B (zh) | 一种apn切换方法及相关设备 | |
CN117472604A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |