CN117255400A - 应用组件交互方法及相关设备 - Google Patents
应用组件交互方法及相关设备 Download PDFInfo
- Publication number
- CN117255400A CN117255400A CN202211068654.9A CN202211068654A CN117255400A CN 117255400 A CN117255400 A CN 117255400A CN 202211068654 A CN202211068654 A CN 202211068654A CN 117255400 A CN117255400 A CN 117255400A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- application component
- connection
- application
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 138
- 230000003993 interaction Effects 0.000 title claims abstract description 39
- 238000004891 communication Methods 0.000 claims abstract description 128
- 230000006854 communication Effects 0.000 claims abstract description 128
- 230000004044 response Effects 0.000 claims description 42
- 230000015654 memory Effects 0.000 claims description 26
- 238000012795 verification Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000007726 management method Methods 0.000 description 89
- 230000006870 function Effects 0.000 description 32
- 238000013523 data management Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 19
- 230000001360 synchronised effect Effects 0.000 description 18
- 230000005236 sound signal Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 12
- 230000006399 behavior Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 210000000988 bone and bone Anatomy 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 230000001976 improved effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000002688 persistence Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 101100123053 Arabidopsis thaliana GSH1 gene Proteins 0.000 description 3
- 101100298888 Arabidopsis thaliana PAD2 gene Proteins 0.000 description 3
- 101000590281 Homo sapiens 26S proteasome non-ATPase regulatory subunit 14 Proteins 0.000 description 3
- 101001114059 Homo sapiens Protein-arginine deiminase type-1 Proteins 0.000 description 3
- 101150092599 Padi2 gene Proteins 0.000 description 3
- 102100023222 Protein-arginine deiminase type-1 Human genes 0.000 description 3
- 102100035735 Protein-arginine deiminase type-2 Human genes 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002138 osteoinductive effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
-
- 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
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/19—Connection re-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/30—Connection release
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种应用组件交互方法及相关设备,在本端设备与远端设备建立通信连接的情况下,可以通过分布式技术将远端设备上的应用组件的运行数据同步并到本端设备,本端设备可以基于该运行数据刷新显示本端设备的应用组件,还可以将用户针对本端设备上的应用组件的控制命令同步到远端设备,以使得远端设备执行该控制命令对应的任务,这样,可以实现应用组件跨设备的体验,简化用户操作,提高用户体验。
Description
本申请要求于2022年06月09日提交中国专利局、申请号为202210653945.8、申请名称为“实现跨设备共用数据类应用组件交互的方法、装置和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及终端技术领域,尤其涉及一种应用组件交互方法及相关设备。
背景技术
随着智能电子设备的普及和互联网技术的发展,智能手机、笔记本电脑、平板电脑等电子设备已经成为人们日常生活中不可或缺的产品。为满足用户日益增长的使用需求,这些电子设备上安装的应用程序(Application,APP)的种类和数量也日益增多。通常,这些应用程序的入口均以桌面图标的形式显示在电子设备的桌面上。除了桌面图标,当前一些电子设备生产厂商还提供了桌面应用组件功能,这些桌面应用组件不仅可以作为应用程序的入口,而且它相比于传统的应用程序来说,具备更清晰的视觉,更自由的布局,更灵活的尺寸,更丰富的内容、支持个性化定制等特征,可以将应用程序的内容轻量、快速、高效呈现,支持用户快捷操作,实现服务一步直达。
然而,目前应用组件的应用场景较为受限,用户体验差。
发明内容
本申请实施例提供了一种应用组件交互方法及相关设备,可以实现应用组件跨设备的体验,简化用户操作,提高用户体验。
第一方面,本申请实施例提供了一种应用组件交互方法,应用于第一电子设备,该方法包括:所述第一电子设备显示第一用户界面,所述第一用户界面中包括第一应用组件,所述第一应用组件是所述第一电子设备的一个应用组件;所述第一电子设备与第二电子设备建立第一连接;所述第一电子设备基于所述第一连接接收所述第二电子设备发送的第一消息,所述第一消息中包括第一数据,所述第一数据是所述第二电子设备运行第二应用组件生成的;所述第一电子设备基于所述第一数据生成第一内容,并在所述第一应用组件上显示所述第一内容;其中,所述第一连接为所述第一应用组件与所述第二应用组件之间的连接。
通过实施第一方面提供的方法,在本端设备与远端设备建立通信连接的情况下,可以将远端设备上的应用组件的运行数据同步并到本端设备,本端设备可以基于该运行数据刷新显示本端设备的应用组件。
在一种可能的实现方式中,第一应用组件与第二应用组件是提供同一功能的应用组件。
这样,第一电子设备则可以基于第二应用组件在第二电子设备上的运行数据刷新显示第一应用组件。
在一种可能的实现方式中,在所述第一电子设备与第二电子设备建立第一连接之后,该方法还包括:所述第一电子设备在所述第一应用组件上显示第一标识,所述第一标识用于指示所述第一连接的状态;其中,所述第一标识在所述第一连接处于连接状态和断开状态下的显示方式不同。
这样,可以便于用户基于第一标识的不同显示方式来获知第一连接是处于连接状态还是断开状态。
在一种可能的实现方式中,在所述第一电子设备在所述第一应用组件上显示第一标识之后,该方法还包括:所述第一电子设备检测到用户针对所述第一标识的第一操作;响应于所述第一操作,所述第一电子设备显示第一窗口,所述第一窗口中包括第一选项;所述第一电子设备检测到用户针对所述第一选项的第二操作;响应于所述第二操作,所述第一电子设备删除所述第一连接。
这样,用户可以主动删除第一连接,删除之后,第一连接断开。
在一种可能的实现方式中,在所述第一连接处于所述断开状态下,所述第一窗口中还包括第二选项,在所述第一电子设备检测到用户针对所述第一选项的第二操作之前,该方法还包括:所述第一电子设备检测到用户针对所述第二选项的第三操作;响应于所述第三操作,所述第一电子设备与所述第二电子设备重新建立所述第一连接。
这样,在第一连接断开的情况下,用户可以主动重新建立第一连接。
在一种可能的实现方式中,所述第一标识上显示有所述第二电子设备的设备信息。
这样,可以便于用户获知第一连接是第一电子设备与哪个电子设备建立的。
在一种可能的实现方式中,在所述第一电子设备在所述第一应用组件上显示第一内容之后,该方法还包括:所述第一电子设备基于所述第一连接接收所述第二电子设备发送的第二消息,所述第二消息中包括第二数据,所述第二数据是所述第二电子设备在生成所述第一数据之后运行所述第二应用组件生成的,所述第二数据与所述第一数据不同;所述第一电子设备基于所述第二数据生成第二内容,并在所述第一应用组件上显示所述第二内容。
这样,在第二应用组件的运行数据发生变化时,第二电子设备可以重新向第一电子设备同步第二应用组件的运行数据,第一电子设备可以基于该运行数据重新刷新显示第一应用组件。
在一种可能的实现方式中,在所述第一电子设备与第二电子设备建立第一连接之前,该方法还包括:所述第一电子设备检测到用户的第四操作;响应于所述第四操作,所述第一电子设备显示第二窗口,所述第二窗口中包括一个或多个选项,所述一个或多个选项包括所述第二电子设备的设备信息对应的选项;所述第一电子设备检测到用户针对所述第二电子设备的设备信息对应的选项的第五操作;响应于所述第五操作,所述第一电子设备向所述第二电子设备第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立所述第一连接。
这样,用户可以主动选择与第一电子设备建立第一连接的电子设备。
在第一方面中,第一电子设备可以是电子设备100,第二电子设备可以是电子设备200,第一用户界面可以是桌面,第一连接可以是图6所示的应用组件业务连接1,第一应用组件可以是图6所示的应用组件1,第二应用组件可以是图6所示的应用组件2,第一消息可以是图6所示的消息1,第一数据可以是图6所示的运行数据1(即应用组件2在电子设备200上的运行数据),第一内容可以是基于第一数据生成的(例如图4F所示应用组件上显示的课程任务对应的相关内容),第一标识可以是标识451,第一操作可以是长按操作,第一窗口可以是图4J所示的窗口460,第一选项可以是选项462,第二操作可以是点击操作,第二选项可以是选项461,第三操作可以是点击操作,第二消息可以是第二应用组件运行数据变化的消息,第二数据可以是第二应用组件变化后的运行数据,第二内容可以是基于第二数据生成的(例如图4H所示应用组件上显示的课程任务对应的相关内容),第四操作可以是用户触发显示期望同步的设备信息列表的操作,第二窗口可以是图4D所示的窗口440,第五操作可以是点击操作,第一请求可以是建立第一连接的请求。
第二方面,本申请实施例提供了一种应用组件交互方法,应用于第二电子设备,该方法包括:所述第二电子设备接收第一电子设备发送的第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立第一连接;所述第二电子设备与所述第一电子设备建立所述第一连接;所述第二电子设备基于所述第一连接向所述第一电子设备发送第一消息,所述第一消息中包括第一数据,所述第一数据用于所述第一电子设备在第一应用组件上显示第一内容,所述第一应用组件是所述第一电子设备的一个应用组件,所述第一数据是所述第二电子设备运行第二应用组件生成的;其中,所述第一连接为所述第一应用组件与所述第二应用组件之间的连接。
在一种可能的实现方式中,所述第一请求中包括所述第一电子设备的设备信息、所述第一应用组件的信息,在所述第二电子设备与第一电子设备建立所述第一连接之前,该方法还包括:所述第二电子设备基于所述第一电子设备的设备信息、所述第一应用组件的信息进行验证,在验证成功的情况下,所述第二电子设备与第一电子设备建立所述第一连接。
这样,在验证成功情况下建立第一连接,可以提高安全性。
在一种可能的实现方式中,在所述第二电子设备基于所述第一连接向所述第一电子设备发送第一消息之后,该方法还包括:所述第二电子设备基于所述第一连接向所述第一电子设备发送第二消息,所述第二消息中包括第二数据,所述第二数据是所述第二电子设备在生成所述第一数据之后运行所述第二应用组件生成的,所述第二数据与所述第一数据不同,所述第二数据用于所述第一电子设备在第一应用组件上显示第二内容。
在第二方面中,第一电子设备可以是电子设备100,第二电子设备可以是电子设备200,第一连接可以是图6所示的应用组件业务连接1,第一应用组件可以是图6所示的应用组件1,第二应用组件可以是图6所示的应用组件2,第一消息可以是图6所示的消息1,第一数据可以是图6所示的运行数据1(即应用组件2在电子设备200上的运行数据),第一内容可以是基于第一数据生成的(例如图4F所示应用组件上显示的课程任务对应的相关内容),第二消息可以是第二应用组件运行数据变化的消息,第二数据可以是第二应用组件变化后的运行数据,第二内容可以是基于第二数据生成的(例如图4H所示应用组件上显示的课程任务对应的相关内容),第一请求可以是建立第一连接的请求。
第三方面,本申请实施例提供了一种应用组件交互方法,应用于第一电子设备,该方法包括:所述第一电子设备显示第一用户界面,所述第一用户界面中包括第一应用组件,所述第一应用组件是所述第一电子设备的一个应用组件;所述第一电子设备与第二电子设备建立第一连接;所述第一电子设备检测到用户针对所述第一应用组件的第一操作;响应于所述第一操作,所述第一电子设备基于所述第一连接向所述第二电子设备发送第一消息,所述第一消息中包括第一控制命令,所述第一控制命令用于指示所述第二电子设备响应所述第一控制命令。
通过实施第三方面提供的方法,在本端设备与远端设备建立通信连接的情况下,本端设备可以将用户针对本端设备上的应用组件的控制命令同步到远端设备,以使得远端设备执行该控制命令对应的任务。这样,用户可以便捷地通过操作本端设备上的应用组件来控制远端设备执行相应任务,从而实现应用组件跨设备进行控制命令同步的目的,用户在本端设备的控制行为可以直达远端设备,使得远端设备呈现用户在本端设备的控制行为所达到的控制效果,简化用户操作,提高用户体验。
在一种可能的实现方式中,所述第一连接为所述第一应用组件与第二应用组件之间的连接,所述第二应用组件为所述第二电子设备的一个应用组件。
这样,后续可以基于该连接进行第一应用组件与第二应用组件之间的控制命令的传输。
在一种可能的实现方式中,所述第一电子设备基于所述第一连接向所述第二电子设备发送第一消息,具体包括:所述第一电子设备基于所述第一连接向所述第二应用组件发送所述第一消息;所述第一控制命令用于指示所述第二应用组件响应所述第一控制命令。
在一种可能的实现方式中,在所述第一电子设备与第二电子设备建立第一连接之后,该方法还包括:所述第一电子设备在所述第一应用组件上显示第一标识,所述第一标识用于指示所述第一连接的状态;其中,所述第一标识在所述第一连接处于连接状态和断开状态下的显示方式不同。
这样,可以便于用户基于第一标识的不同显示方式来获知第一连接是处于连接状态还是断开状态。
在一种可能的实现方式中,在所述第一电子设备在所述第一应用组件上显示第一标识之后,该方法还包括:所述第一电子设备检测到用户针对所述第一标识的第二操作;响应于所述第二操作,所述第一电子设备显示第一窗口,所述第一窗口中包括第一选项;所述第一电子设备检测到用户针对所述第一选项的第三操作;响应于所述第三操作,所述第一电子设备删除所述第一连接。
这样,用户可以主动删除第一连接,删除之后,第一连接断开。
在一种可能的实现方式中,在所述第一连接处于所述断开状态下,所述第一窗口中还包括第二选项,在所述第一电子设备检测到用户针对所述第一选项的第三操作之前,该方法还包括:所述第一电子设备检测到用户针对所述第二选项的第四操作;响应于所述第四操作,所述第一电子设备与所述第二电子设备重新建立所述第一连接。
这样,在第一连接断开的情况下,用户可以主动重新建立第一连接。
在一种可能的实现方式中,所述第一标识上显示有所述第二电子设备的设备信息。
这样,可以便于用户获知第一连接是第一电子设备与哪个电子设备建立的。
在一种可能的实现方式中,在所述第一电子设备与第二电子设备建立第一连接之前,该方法还包括:所述第一电子设备检测到用户的第五操作;响应于所述第五操作,所述第一电子设备显示第二窗口,所述第二窗口中包括一个或多个选项,所述一个或多个选项包括所述第二电子设备的设备信息对应的选项;所述第一电子设备检测到用户针对所述第二电子设备的设备信息对应的选项的第六操作;响应于所述第六操作,所述第一电子设备向所述第二电子设备第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立所述第一连接。
这样,用户可以主动选择与第一电子设备建立第一连接的电子设备。
在一种可能的实现方式中,所述第一应用组件上显示有一个或多个拍摄选项,所述一个或多个拍摄选项包括拍照选项,所述第一操作为用户针对所述拍照选项的点击操作,所述第一控制命令用于指示所述第二电子设备启动相机应用程序进入拍照模式,在所述第一电子设备检测到用户针对所述第一应用组件的第一操作之后,该方法还包括:响应于所述第一操作,所述第一电子设备在所述第一应用组件上显示第三窗口,所述第三窗口中包括快门选项;所述第一电子设备检测到用户针对所述快门选项的第七操作;响应于所述第七操作,所述第一电子设备基于所述第一连接向所述第二电子设备发送第二消息,所述第二消息中包括第二控制命令,所述第二控制命令用于指示所述第二电子设备执行拍照操作;所述第一电子设备基于所述第一连接接收并显示所述第二电子设备发送的第一图像,所述第一图像是所述第二电子设备执行所述拍照操作之后生成的。
这样,在第一应用组件为具备拍照功能的应用组件的情况下,可以控制第二电子设备来启动相机应用程序进入拍照模式,并执行拍照操作。
在第三方面中,第一电子设备可以是电子设备100,第二电子设备可以是电子设备200,第一用户界面可以是桌面,第一连接可以是图9所示的应用组件业务连接1’,第一应用组件可以是图9所示的应用组件1’,第二应用组件可以是与应用组件1’提供同一功能的应用组件,第一操作可以是图9所示的操作1,第一消息可以是图9所示的消息1’,第一控制命令可以是图9所示的控制命令1,第一标识可以是标识541,第二操作可以是长按操作,第一窗口可以是图5J所示的窗口580,第一选项可以是选项582,第三操作可以是点击操作,第二选项可以是选项581,第四操作可以是点击操作,第五操作可以是用户触发显示期望同步的设备信息列表的操作,第二窗口可以是图5C所示的窗口530,第六操作可以是点击操作,第一请求可以是建立第一连接的请求,第三窗口可以是图5G所示的窗口570,第七操作可以是点击操作,第二消息可以是控制第二电子设备执行拍照操作的消息,第二控制命令可以是指示第二电子设备执行拍照操作的命令,第一图像可以是第二电子设备执行拍照操作之后生成的图像(例如图5H所示的图像)。
第四方面,本申请实施例提供了一种应用组件交互方法,应用于第二电子设备,该方法包括:所述第二电子设备接收第一电子设备发送的第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立第一连接;所述第二电子设备与所述第一电子设备建立所述第一连接;所述第二电子设备基于所述第一连接接收所述第一电子设备发送的第一控制命令,所述第一控制命令是所述第一电子设备在检测到用户针对第一应用组件的第一操作之后生成的,所述第一应用组件是所述第一电子设备的一个应用组件;所述第二电子设备响应所述第一控制命令。
在一种可能的实现方式中,所述第一连接为所述第一应用组件与第二应用组件之间的连接,所述第二应用组件为所述第二电子设备的一个应用组件。
这样,后续可以基于该连接进行第一应用组件与第二应用组件之间的控制命令的传输。
在一种可能的实现方式中,所述第二电子设备基于所述第一连接接收所述第一电子设备发送的第一控制命令,具体包括:所述第二应用组件基于所述第一连接接收所述第一电子设备发送的第一控制命令;所述第二电子设备响应所述第一控制命令,具体包括:所述第二应用组件响应所述第一控制命令。
在一种可能的实现方式中,所述第一请求中包括所述第一电子设备的设备信息、所述第一应用组件的信息,在所述第二电子设备与第一电子设备建立所述第一连接之前,该方法还包括:所述第二电子设备基于所述第一电子设备的设备信息、所述第一应用组件的信息进行验证,在验证成功的情况下,所述第二电子设备与第一电子设备建立所述第一连接。
这样,在验证成功情况下建立第一连接,可以提高安全性。
在一种可能的实现方式中,所述第一应用组件上显示有一个或多个拍摄选项,所述一个或多个拍摄选项包括拍照选项,所述第一操作为用户针对所述拍照选项的点击操作,所述第一控制命令用于指示所述第二电子设备启动相机应用程序进入拍照模式,所述第二电子设备响应所述第一控制命令,具体包括:所述第二电子设备通过所述第二应用组件启动所述相机应用程序,并显示第一用户界面,所述第一用户界面为所述相机应用程序的一个用户界面,所述第一用户界面中包括第一预览框,所述第一预览框中包括第一图像;或,所述第二电子设备在第二应用组件上显示第一窗口,所述第一窗口中包括第二预览框,所述第二预览框中包括第一图像;在所述第二电子设备响应所述第一控制命令之后,该方法还包括:所述第二电子设备基于所述第一连接接收所述第一电子设备发送的第二控制命令,所述第二控制命令用于指示所述第二电子设备执行拍照操作;响应于所述第二控制命令,所述第二电子设备执行所述拍照操作,并向所述第一电子设备发送所述第一图像。
这样,在第一应用组件为具备拍照功能的应用组件的情况下,可以控制第二电子设备来启动相机应用程序进入拍照模式,并执行拍照操作。
在第四方面中,第一电子设备可以是电子设备100,第二电子设备可以是电子设备200,第一请求可以是建立第一连接的请求,第一连接可以是图9所示的应用组件业务连接1’,第一控制命令可以是图9所示的控制命令1,第一应用组件可以是图9所示的应用组件1’,第二应用组件可以是与应用组件1’提供同一功能的应用组件,第一操作可以是图9所示的操作1,第一用户界面可以是图5E所示的用户界面,第一预览框可以是图5E所示的预览框551,第一图像可以是第一预览框中的图像,第一窗口可以是图5F所示的窗口562,第二预览框可以是预览框563,第一图像可以是第二预览框中的图像,第二控制命令可以是指示第二电子设备执行拍照操作的命令。
第五方面,本申请实施例提供了一种通信系统,该通信系统包括:第一电子设备和第二电子设备;所述第一电子设备用于显示第一用户界面,所述第一用户界面中包括第一应用组件,所述第一应用组件是所述第一电子设备的一个应用组件;所述第一电子设备还用于向所述第二电子设备第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立第一连接;所述第二电子设备用于接收所述第一请求,并与所述第一电子设备建立所述第一连接;所述第二电子设备还用于基于所述第一连接向所述第一电子设备发送第一消息,所述第一消息中包括第一数据,所述第一数据是所述第二电子设备运行第二应用组件生成的;所述第一电子设备还用于基于所述第一数据生成第一内容,并在所述第一应用组件上显示所述第一内容;其中,所述第一连接为所述第一应用组件与所述第二应用组件之间的连接。
第六方面,本申请实施例提供了一种通信系统,该通信系统包括:第一电子设备和第二电子设备;所述第一电子设备用于显示第一用户界面,所述第一用户界面中包括第一应用组件,所述第一应用组件是所述第一电子设备的一个应用组件;所述第一电子设备还用于向所述第二电子设备第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立第一连接;所述第二电子设备用于接收所述第一请求,并与所述第一电子设备建立所述第一连接;所述第一电子设备还用于检测用户针对所述第一应用组件的第一操作;所述第一电子设备还用于基于所述第一连接向所述第二电子设备发送第一消息,所述第一消息中包括第一控制命令;所述第二电子设备还用于响应所述第一控制命令。
第七方面,本申请实施例提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器;其中,一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述第一方面或第二方面或第三方面或第四方面任一项可能的实现方式中的方法。
第八方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,计算机程序包括程序指令,当程序指令在电子设备上运行时,使得电子设备执行上述第一方面或第二方面或第三方面或第四方面任一项可能的实现方式中的方法。
第九方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第二方面或第三方面或第四方面任一项可能的实现方式中的方法。
附图说明
图1是本申请实施例提供的一种本端设备在桌面显示应用组件的示意图;
图2是本申请实施例提供的一种通信系统的示意图;
图3A是本申请实施例提供的一种本端设备的软件架构示意图;
图3B是本申请实施例提供的另一种本端设备的软件架构示意图;
图4A-图4L是本申请实施例提供的应用组件交互方法在“数据共享”场景下实施时涉及的一组用户界面示意图;
图5A-图5L是本申请实施例提供的应用组件交互方法在“控制命令同步”场景下实施时涉及的一组用户界面示意图;
图6是本申请实施例提供的一种应用组件交互方法在“数据共享”场景下实施时的流程示意图;
图7是本申请实施例提供的一种在建立应用组件业务连接过程中本端设备与远端设备内部各个模块之间的可能的协作方式示意图;
图8是本申请实施例提供的一种在应用组件跨设备数据共享过程中本端设备与远端设备内部各个模块之间可能的协作方式示意图;
图9是本申请实施例提供的一种应用组件交互方法在“控制命令同步”场景下实施时的流程示意图;
图10是本申请实施例提供的一种在应用组件跨设备控制命令同步过程中本端设备与远端设备内部各个模块之间可能的协作方式示意图;
图11是本申请实施例提供的一种本端设备(电子设备100)的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
为便于理解,首先对本申请实施例中涉及的“应用组件”这一概念进行说明。
应用组件(Application Widget,App Widget),也可以称为卡片或服务卡片或服务组件(Service Widget)或应用微件或应用小组件,是电子设备的业务模块A(业务端,例如某个应用程序)在模块B(宿主端,例如桌面)界面上提供的一种小窗口或小部件。应用组件通常用于将应用程序(Application)的重要信息展示在电子设备的桌面上,实现应用程序的某个业务特性,用户可以通过快捷手势使用应用组件,以达到服务一步直达、减少层级跳转的目的。
应用组件是一种界面展示形式,通常是由第三方(例如应用程序的开发者)独立定制,即独立于该应用组件对应的应用程序定制。其中,应用组件可用于嵌入到其他应用程序中作为其界面的一部分显示,例如可以允许使用方(如桌面应用程序)将应用组件嵌入到自己的界面(如嵌入至安卓操作系统的activity组件)中进行显示。也就是说,对于任一应用程序,该应用程序对应的应用组件与该应用程序是相互独立的,即该应用程序对应的应用组件不是该应用程序的应用界面,但该应用程序对应的应用组件可以与该应用程序进行数据交互,以将该应用程序的重要信息或操作等更新或添加到应用组件,从而达到服务直达,减少体验层级的目的。例如,基于安卓操作系统设置的应用组件可以称为进行中卡片(ongoing card),基于鸿蒙操作系统设置的应用组件可以称为服务卡片,如form ability(FA)。
图1示例性示出了电子设备100提供的显示在用户界面110(即桌面)中的一个应用组件,通常应用组件可以显示有一种或多种信息,从图1可以看出,应用组件111显示有三种信息:位置信息(例如南京栖霞区)、温度信息(例如22度)、运动步数信息(例如6888步)。这样,通过将该应用组件显示在桌面上,用户可以直接查看到上述显示在该应用组件中的信息,无需进入提供该应用组件的应用程序来查看这些信息,方便快捷。同时,用户还可以直接点击该应用组件进入提供该应用组件的应用程序来查看更多详细信息或执行其他任务。
应用组件只是本申请实施例中所使用的一个词语,其代表的含义在本申请实施例中已经记载,其名称并不能对本申请实施例构成任何限制。
目前,应用组件在不同电子设备之间是彼此独立的,应用组件通常只能在本端设备上使用,无法共享跨设备应用组件上的数据,且无法进行跨设备控制。例如,应用组件上显示的数据只能是本端设备运行该应用组件产生的数据,远端设备上的应用组件的运行数据(例如平板上的某一应用组件的阅读进度数据、智慧屏上的某一应用组件的视频进度数据等)无法同步到本端设备(例如手机)的应用组件上;又例如,用户只能控制本端设备上的应用组件,无法通过本端设备上的应用组件来控制远端设备。
也即是说,目前缺少应用组件跨设备进行数据同步和控制行为直达的用户体验,没有相关的技术方案来支撑应用组件跨设备进行数据同步和控制行为直达的实现,从而导致应用组件的应用场景受限,用户体验差。
为了解决上述应用组件跨设备进行数据同步和控制体验缺失的问题,本申请实施例提供了一种应用组件交互方法,在本端设备与远端设备建立通信连接的情况下,可以通过分布式技术将远端设备上的应用组件的运行数据同步并到本端设备,本端设备可以基于该运行数据刷新显示本端设备的应用组件,还可以将用户针对本端设备上的应用组件的控制命令同步到远端设备,以使得远端设备执行该控制命令对应的任务,这样,无论是近场网络通信还是远场网络通信条件下的应用组件均可以实现同账号或异账号的分布式体验,提高用户体验。
下面,首先介绍本申请实施例提供的一种通信系统。
图2示例性示出了本申请实施例提供的一种通信系统。
如图2所示,该通信系统可以包括:多个电子设备。该通信系统也可以称为分布式系统。
该通信系统中包括的多个电子设备均为智能终端设备,可以为各种类型,本申请实施例对该多个电子设备的具体类型不作限制。例如,该多个电子设备可以包括手机,还可以包括平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、智慧屏、可穿戴式设备、增强现实(Augmented Reality,AR)设备、虚拟现实(Virtual Reality,VR)设备、人工智能(Artificial Intelligence,AI)设备、车机、智能耳机,游戏机,还可以包括物联网(Internetof Things,IOT)设备,智能家居设备如智能热水器、智能灯具、智能空调,或智能运动设备器械、智能医疗器械如血压机等。
该通信系统中的多个电子设备之间可以通过登录相同的账号进行连接。例如,多个电子设备可以登录同一华为账号,并通过服务器来远程连接并通信。账号可以是手机号,电子邮箱号,自定义的用户名,APP服务器分配的用户名,电子设备中某个APP中的登录使用的用户名等。
该通信系统中的多个电子设备也可以登录不同账号,但通过绑定的方式进行连接。一个电子设备登录账号后,可以在设备管理应用中,绑定登录不同账号或未登录的其他电子设备,之后这些电子设备之间可以通过该设备管理应用通信。
该通信系统中的多个电子设备还可以通过扫描二维码、近场通信(near fieldcommunication,NFC)碰一碰、搜索蓝牙设备等方式建立连接,这里不做限制。
总的来说,该通信系统中的多个电子设备之间建立的通信连接可以包括但不限于:有线连接、无线连接例如蓝牙(bluetooth,BT)连接、无线局域网(wireless local areanetworks,WLAN)例如无线保真点对点(wireless fidelity point to point,Wi-Fi P2P)连接、近距离无线通信(near field communication,NFC)连接,红外技术(infrared,IR)连接,以及远程连接(例如通过服务器建立的连接)等等。
此外,该通信系统中的多个电子设备也可以结合上述任意几种方式来连接并通信,本申请实施例对此不做限制。也即是说,该通信系统中的各个电子设备可以按照一定的通信协议和组网策略组建网络(即组网),使得该通信系统中的各个电子设备之间可以互相通信。
该通信系统中的多个电子设备可以配置不同的软件操作系统(OperatingSystem,OS),包括但不限于等等。其中,为华为的鸿蒙系统。多个电子设备可以都配置相同的软件操作系统,例如可以均配置/>在多个电子设备的软件操作系统均为/>时,该通信系统可以看作一个超级终端。
下面介绍本申请实施例提供的电子设备100的两种软件架构示意图。
图3A示例性示出了本申请实施例提供的应用组件显示过程涉及的一种电子设备100的软件架构(以Android系统为例)。
如图3A所示,电子设备100可以包括应用层和框架层。
应用层可以包括一系列应用程序,如图3A所示,应用层可以包括桌面(宿主端)、除桌面之外的其他业务应用(业务端)。
桌面(宿主端)可以包括应用组件宿主模块(App Widget Host)、应用组件宿主视图模块(App Widget Host View)。
其中,应用组件宿主模块是桌面(宿主端)提供的一个接口,可以用于支持应用组件嵌入到桌面(宿主端),并可以保存应用组件的界面逻辑信息;应用组件宿主视图模块中包括远程视图模块(RemoteView),应用组件宿主视图模块可以用于基于远程视图模块中关于应用组件的描述来显示应用组件,远程视图模块可以用于获取在应用组件宿主模块中保存的应用组件的界面逻辑信息,以供应用组件宿主视图模块来显示应用组件。
除桌面之外的其他业务应用(业务端)可以包括服务模块(Service)、应用组件提供器(App WidgetProvider)、远程视图模块(RemoteView)以及AndroidManifest.xml文件等。
其中,服务模块可以用于提供该应用所需的相关服务,应用组件提供器是一个广播接收器(BroadcastReceiver),可以用于接收更新应用组件界面的广播消息,远程视图模块可以用于描述应用组件的视图信息,例如更新应用组件界面所需的各种信息等,AndroidManifest.xml文件中包括该应用的配置信息,可以用于描述该应用中的各个模块(例如服务模块、应用组件提供器、远程视图模块等)。
框架层可以为应用层的应用程序提供应用编程接口(application programminginterface,API)和编程框架。框架层包括一些预先定义的函数。
如图3A所示,框架层可以包括应用组件管理模块(App Widget Manager)、应用组件服务模块(App Widget Service)等。
其中,应用组件管理模块可以用于为业务端和宿主端提供应用组件数据和事件交互的通道,应用组件服务模块可以用于负责应用组件的管理工作(例如加载应用组件、删除应用组件、处理定时事件等)。
继续参阅图3A,在应用组件界面需要更新时,宿主端的应用组件宿主视图模块会以广播消息的形式向业务端发送应用组件界面更新事件,业务端会通过服务模块创建一个服务并把更新界面通知通过应用组件提供器发送至远程视图模块,远程视图模块会生成更新界面所需的各种信息,并把更新界面所需的各种信息发送至框架层的应用组件管理模块,应用组件管理模块会调用应用组件服务模块提供的一些方法来把更新界面所需的各种信息发送至宿主端的应用组件宿主模块,应用组件宿主模块会基于更新界面所需的各种信息来更新应用组件并通过应用组件宿主视图模块来将更新后的应用组件界面显示在宿主端。
可以看出,上述框架层中的应用组件管理模块为宿主端和业务端提供了应用组件数据和事件交互的通道,通过将应用组件嵌入到宿主端提供的容器(Container)中,完成业务端数据在宿主端的自主显示和事件处理过程。其中,容器是一种软件程序,可以为应用组件提供运行环境,并管理应用组件的生命周期。
但是,目前应用组件管理模块只实现了本端设备的应用组件的管理,并没有实现跨设备应用组件的管理,而且,应用组件的界面逻辑信息和事件处理过程所需模块都打包在了应用包中,并没有与应用包分离。
基于上述问题,本申请实施例提供了另一种电子设备100的软件架构。
图3B示例性示出了本申请实施例提供的应用组件交互方法涉及的一种电子设备100的软件架构。
如图3B所示,电子设备100可以包括应用层、框架层、系统服务层、内核及硬件平台层、网络通信硬件层。
应用层可以包括一系列应用程序,如图3B所示,应用层可以包括桌面(宿主端)、除桌面之外的其他业务应用(业务端)。
桌面(宿主端)可以提供注入应用组件的容器,显示应用组件,支持应用组件嵌入并在桌面运行。
与图3A不同的是,除桌面之外的其他业务应用(业务端)中可以包括应用组件和应用主体。
应用组件可以是通过应用组件包(也可以称为应用组件的安装包)安装于电子设备100上的。
应用主体可以是通过应用包(也可以称为应用程序的安装包)安装于电子设备100上的。
也即是说,将应用组件包与应用包分离开来,应用组件包中只包含应用组件所涉及的业务逻辑和服务,这样,应用组件包可以从应用包中解耦,轻型化,并可以独立安装,即使电子设备100上未安装应用组件对应的应用,电子设备100也可以安装该应用组件。
由于应用组件不是一个单独的用户界面程序,因此,它必须嵌入在某个程序(即宿主端)中才可以运行,在本申请实施例中,应用组件的宿主端可以为桌面,即应用组件可以嵌入到桌面来运行。
可以理解的是,本申请实施例仅仅以桌面作为应用组件的宿主端为例,应用组件的宿主端还可以是其他应用程序,本申请实施例对此不作限定。
框架层可以为应用层的应用程序提供应用编程接口(application programminginterface,API)和编程框架。框架层包括一些预先定义的函数。
如图3B所示,框架层可以包括应用组件管理服务模块和公共UIKit(公共用户界面工具包)。
应用组件管理服务模块可以被应用组件调用;还可以调用设备管理服务模块,获取可信设备信息列表;还可以给应用组件提供分布式相关能力(例如数据共享、控制命令同步)的API;等等。
公共UIKit可以用于给分布式场景下的应用组件提供连接、重连、设备标识显示、运行数据刷新显示等方面的UI交互能力。这样,可以降低应用组件业务方的开放工作量,同时可以在UX(UserExperience,用户体验)方面实现统一。
系统服务层是系统的核心能力集合,系统服务层可以通过框架层对应用层的应用程序提供服务。
如图3B所示,系统服务层可以包括设备管理模块、数据通信软总线、分布式数据管理模块、安全验证管理模块。
设备管理模块可以用于管理本端设备的设备信息以及与本端设备建立可信通信连接(或称可信连接,即与可信设备建立的通信连接)的一个或多个远端设备的设备信息;还可以用于提供相关的API给上层模块;等等。
其中,与本端设备建立可信连接的一个或多个远端设备的设备信息可以是设备管理模块依赖数据通信软总线获取到的。
数据通信软总线可以用于基于网络连接信息来提供设备注册、设备发现、设备连接、设备通信等能力。
分布式数据管理模块可以用于提供跨设备的数据共享、控制命令同步等能力。
安全验证管理模块可以用于基于设备证书、账号、签名、软件版本兼容性等信息来验证远端设备的合法性,确保该远端设备为可信设备;还可以用于提供相关的API;等等。
数据通信软总线可以通过Wi-Fi模块、蓝牙模块等基础网络设备,基于多种基础网络通信协议进行设备组网,并可以通过安全验证管理模块对接入设备(包括但不限于与本端设备接入同一局域网的设备、与本端设备登录同一账号的设备)进行可信验证,保存可信设备信息列表(即与本端设备建立可信连接的一个或多个远端设备的设备信息的列表),并可以对设备管理模块提供基础服务(例如提供可信设备信息列表),是整个跨设备场景下的核心基础模块。
如图3B所示,内核及硬件平台层可以包括硬件抽象层(HardwareAbstractionLayer)、内核以及驱动等。
硬件抽象层运行于用户空间(UserSpace),对内核层驱动进行封装,向上层提供调用接口。
内核层是硬件和软件之间的层。内核层可以包括显示驱动,摄像头驱动,音频驱动,传感器驱动、蓝牙驱动等。在一些实施例中,内核及硬件平台层可以包括内核抽象层(kernel abstract layer,KAL)和驱动子系统。KAL下包括多个内核,如Linux系统的内核Linux Kernel、轻量级物联网系统内核LiteOS等。驱动子系统则可以包括硬件驱动框架(Hardware Driver Foundation,HDF)。硬件驱动框架能够提供统一外设访问能力和驱动开发、管理框架。多内核的内核层可以根据系统的需求选择相应的内核进行处理。
如图3B所示,网络通信硬件层可以包括Wi-Fi模块、蓝牙模块等硬件,可以提供网络连接硬件能力,用于实现不同设备之间的通信。
可以理解的是,图3A和图3B仅仅是示例性的,不应该对本申请实施例中电子设备100的软件架构产生任何的限定。例如,在本申请另一些实施例中,电子设备100的系统架构也可以采用与图3A和图3B所示的例子中不同的分层结构,或者每层还可以包括更多或者更少的模块、或者多种不同模块方式的组合等,本申请实施例对此不作限定。电子设备100还可以同时包括图3A中所示的全部或部分模块以及图3B中所示的全部或者部分模块,本申请实施例对此也不作限定。
容易理解,本申请实施例涉及的其他电子设备的软件架构可以与电子设备100的软件架构相同或不同,本申请实施例对此不作限定。
本申请实施例提供的应用组件交互方法可以是基于上述图3B所示的软件架构来实现的。
本申请实施例提供的应用组件交互方法主要应用于以下两种场景:
1、数据共享场景
该场景下,远端设备(例如电子设备200)可以将应用组件的运行数据(也可以称为应用组件的实例数据)同步到本端设备(例如电子设备100),本端设备可以基于该运行数据刷新显示本端设备上的应用组件的界面。也即是说,本端设备上的应用组件的运行数据可以来源于远端设备上的应用组件,从而实现应用组件跨设备进行数据共享。
2、控制命令同步场景
该场景下,本端设备(例如电子设备100)可以将用户针对本端设备上的应用组件的控制命令同步到远端设备(例如电子设备200),以使得远端设备执行该控制命令对应的任务。也即是说,用户可以通过操作本端设备上的应用组件来控制远端设备执行相应任务,从而实现应用组件跨设备进行控制命令同步,用户在本端设备的控制行为可以直达远端设备,使得远端设备呈现用户在本端设备的控制行为所达到的控制效果。
后续实施例中会详细介绍应用组件交互方法在上述两种场景下的具体实现过程,在此先不展开。
下面先详细说明本申请实施例提供的应用组件交互方法在不同场景下实施时涉及的一系列用户界面。
一、数据共享场景:
图4A-图4L示例性示出了本申请实施例提供的应用组件交互方法在“数据共享”场景下实施时涉及的一系列用户界面。
假设电子设备100(例如手机)为本端设备,电子设备200(例如平板)为远端设备,以电子设备200将应用组件的运行数据同步到电子设备100为例来进行说明。
示例性地,参阅图4A,图4A所示的用户界面410可以为电子设备200的桌面,用户界面410中可以包括一个或多个应用组件(例如应用组件411)。
其中,每一个应用组件上都可以显示有该应用组件的动态信息,应用组件的动态信息可以是电子设备200在运行该应用组件的过程中所产生的数据(即运行数据)呈现出来的信息,该动态信息可以随着时间或用户的行为而发生变化。
继续参阅图4A,以应用组件411是“待办”应用组件为例,应用组件411上显示的动态信息可以包括用户待办事项(例如课程任务)的信息(例如待办事项的名称、完成进度等信息)。
示例性地,从图4A中可以看出,用户需完成的课程任务包括三项:背英语单词、写作文、写数学天天练,从图4A中还可以看出,用户每一项课程任务的完成进度的信息,例如,背英语单词-Doing,可以表示用户正在进行背英语单词这项课程任务,但尚未完成;又例如,写作文-To Do,可以表示用户尚未开始进行写作文这项课程任务;又例如,写数学天天练-To Do,可以表示用户尚未开始进行数学天天练这项课程任务。
如果用户想要将电子设备200上的应用组件411的运行数据同步到电子设备100,那么,用户首先需要在电子设备100上创建一个应用组件(例如在电子设备100的桌面上添加一个应用组件),容易理解,该应用组件需要是能够与图4A所示的电子设备200上的应用组件411提供同一功能的应用组件。例如,电子设备200上的应用组件是某一个应用程序提供的实现某一功能的应用组件,那么,电子设备100上创建的应用组件也需要是该应用程序提供的实现该功能的应用组件。容易理解,电子设备200上的应用组件411为“待办”应用组件,那么,用户在电子设备100上需要创建的应用组件也是“待办”应用组件。创建完成之后,可以进行下一步操作,来实现应用组件跨设备进行数据共享,下面详细介绍:
示例性地,参阅图4B,图4B所示的用户界面420可以为电子设备100的桌面,用户界面420中可以包括一个或多个应用组件(例如应用组件421)。应用组件421可以为用户在电子设备100上创建的与应用组件411提供同一功能的应用组件,例如“待办”应用组件。应用组件421上显示的动态信息可以为电子设备100运行该应用组件的过程中所产生的数据(即运行数据)呈现出来的信息,该动态信息可以随着时间或用户的行为而发生变化。
从图4B中可以看出,当前应用组件421处于待初始化状态,也即是说,用户没有在该应用组件上添加待办事项的信息,应用组件421上显示的动态信息可以认为是空白的。
继续参阅图4B,如果用户想要电子设备100在应用组件421上显示其他电子设备(例如电子设备200)上的“待办”应用组件的动态信息,那么,电子设备100可以检测到用户针对应用组件421的操作(例如长按操作),响应于该操作,电子设备100可以显示如图4C示例性所示的窗口430。
参阅图4C,窗口430中可以包括一个或多个选项(例如选项431、选项432)。
其中,选项431(例如“同步”选项)可以用于监听用户触发同步的操作,响应于监听到的用户触发同步的操作,可以触发电子设备100显示期望同步的设备信息列表,以便进一步将用户选择的电子设备上的“待办”应用组件的运行数据同步到电子设备100,从而可以实现电子设备100基于该运行数据在应用组件421上显示对应的动态信息。
其中,选项432(例如“移除”选项)可以用于将应用组件421从电子设备100的桌面上移除。
继续参阅图4C,如果用户想要电子设备100在应用组件421上显示其他电子设备(例如电子设备200)上的“待办”应用组件的动态信息,那么,电子设备100可以检测到用户针对选项431的操作(例如点击操作),响应于该操作,电子设备100可以显示如图4D示例性所示的窗口440。
参阅图4D,窗口440中可以包括期望同步的设备信息列表,该设备信息列表中可以包括一个或多个电子设备的设备信息对应的选项(例如“我的平板”选项441、“TV”选项等等)。
其中,上述一个或多个电子设备可以为当前与电子设备100建立有通信连接的远端设备,或,之前与电子设备100建立过通信连接但当前与电子设备100未建立有通信连接的远端设备。
继续参阅图4D,假设电子设备200为“我的平板”,如果用户想要电子设备100在应用组件421上显示电子设备200上的“待办”应用组件的动态信息,那么,电子设备100可以检测到用户针对选项441的操作(例如点击操作),响应于该操作,电子设备100可以刷新显示应用组件421,例如,电子设备100可以在应用组件421上显示如图4E示例性所示的标识451,电子设备100还可以在应用组件421上显示如图4F示例性所示的电子设备200上的“待办”应用组件的动态信息(例如背英语单词-Doing、写作文-To Do、写数学天天练-To Do等)。
参阅图4F,可以看出,电子设备100在应用组件421上显示的动态信息,与,图4A所示的电子设备200在应用组件411上显示的动态信息是一致的,也即是说,电子设备200将应用组件411的运行数据同步到了电子设备100上,这样,用户就可以通过本端设备查看到远端设备上应用组件的动态信息了,提高用户体验。
容易理解,电子设备100在应用组件421上显示的电子设备200上的“待办”应用组件的动态信息可以是电子设备100基于电子设备200上的“待办”应用组件的运行数据生成的,电子设备200上的“待办”应用组件的运行数据可以是电子设备200发送给电子设备100的,由于数据发送与处理需要一定的时间,因此,电子设备100可能先只显示如图4E所示的标识451,在接收并处理完成上述运行数据之后,再在应用组件421上显示如图4F所示的电子设备200上的“待办”应用组件的动态信息。
其中,标识451上可以用于显示运行数据来源方的设备信息(例如设备名称、设备类型等信息),便于用户获知运行数据是来自哪个电子设备的。例如,上述运行数据是来自电子设备200的,电子设备200为“我的平板”,那么,标识451上则可以显示电子设备200的设备信息(例如“PAD”)。
其中,标识451还可以用于显示电子设备100与电子设备200建立应用组件业务连接的状态。示例性地,可以用标识451的背景颜色来表示应用组件业务连接的状态,例如,图4E和图4F所示的标识451的背景颜色(例如“绿色”)可以表示应用组件业务连接的状态为“已连接”状态(即连接成功)。不限于上述背景颜色,还可以用其他形式(例如文字、符号等)来显示应用组件业务连接的状态,本申请实施例对此不作限定。
在本申请实施例中,“电子设备100与电子设备200建立应用组件业务连接”可以是指电子设备100与电子设备200建立通信连接,且电子设备100上的某一个应用组件(例如应用组件421)与电子设备200上的某一个应用组件(例如应用组件411)建立一个关联关系,基于该关联关系,一个应用组件的运行数据可以通过上述通信连接同步到另一个应用组件上,从而可以实现在本端设备查看远端设备上的应用组件的动态信息的目的。
需要说明的是,本申请实施例对标识451的显示方式(例如显示位置、显示样式等)不作限定。例如,标识451的显示位置可以是在应用组件421右上角的位置,也可以是其他位置(例如应用组件421左上角、右下角、左下角等位置);又例如,标识451的显示样式可以是矩形样式,也可以是其他样式(例如椭圆形、方形等样式)。
在上述电子设备100与电子设备200的应用组件业务连接处于“已连接”状态的情况下,如果电子设备200上的应用组件411的运行数据发生了变化,电子设备200可以将变化后的运行数据发送给电子设备100,重新进行数据同步,以便电子设备100可以及时更新运行数据,刷新显示应用组件421,与电子设备200保持一致。
示例性地,参阅图4G,可以看出,与图4A不同的是,“背英语单词”这项任务的完成进度由“Doing”变化为了“Done”,即应用组件411的运行数据发生了变化,在电子设备200将变化后的应用组件411的运行数据发送给电子设备100之后,电子设备100可以刷新显示应用组件421。图4H示例性所示的应用组件421可以为电子设备100刷新显示后的应用组件421,可以看出,图4H所示的电子设备100在应用组件421上显示的动态信息,与,图4G所示的电子设备200在应用组件411上显示的动态信息是一致的,这样,在远端设备上应用组件的运行数据发生变化之后,仍可以重新进行数据同步,从而使得本端设备及时更新运行数据,刷新显示应用组件,与远端设备保持一致。
容易理解,电子设备200上的应用组件的运行数据发生变化之后,电子设备200可以向电子设备100发送变化后的应用组件的全部运行数据;也可以只向电子设备100发送变化了的运行数据,而不发送没有变化的运行数据,本申请实施例对此不作限定。
在本申请实施例中,电子设备200可以周期性地向电子设备100发送应用组件的运行数据,也可以在监测到应用组件的运行数据发生变化后再向电子设备100发送变化后的应用组件的运行数据,本申请实施例对此不作限定。
在上述电子设备100与电子设备200的应用组件业务连接成功建立之后,如果该业务连接中途断开,电子设备100还可以显示业务连接断开的状态,并可以支持重新建立业务连接,还可以支持删除该业务连接。
示例性地,参阅图4I,如果网络状态发生中断,上述电子设备100与电子设备200的应用组件业务连接状态则可能就会由“已连接”状态变为“断开连接”状态,在这种情况下,为了便于用户及时获知业务连接的状态,电子设备100可以刷新显示标识451,例如,可以将标识451的背景颜色由“已连接”状态下的背景颜色(例如“绿色”)刷新显示为图4I示例性所示的“断开连接”状态下的背景颜色(例如“红色”)。不限于背景颜色,“断开连接”状态下的标识451只要能够让用户可以与“已连接”状态下的标识451区别开来即可,本申请实施例对其显示方式不作限定。
参阅图4I,电子设备100可以检测到用户针对标识451的操作(例如长按操作),响应于该操作,电子设备100可以显示图4J示例性所示的窗口460。
参阅图4J,窗口460中可以包括一个或多个选项(例如选项461、选项462)。
其中,选项461(例如“重连”选项)可以用于电子设备100与电子设备200重新建立应用组件业务连接。
其中,选项462(例如“删除”选项)可以用于将电子设备100与电子设备200建立的应用组件业务连接删除。
继续参阅图4J,如果用户想要电子设备100与电子设备200重新建立应用组件业务连接,那么,电子设备100可以检测到用户针对选项461的操作(例如点击操作),响应于该操作,电子设备100可以与电子设备200重新建立应用组件业务连接,业务连接建立成功之后,电子设备100可以刷新显示标识451,例如,可以将标识451的背景颜色由图4I示例性所示的“断开连接”状态下的背景颜色(例如“红色”)刷新显示为图4H示例性所示的“已连接”状态下的背景颜色(例如“绿色”)。容易理解,重连成功之后,电子设备200可以将应用组件411的运行数据重新同步到电子设备100。
继续参阅图4J,如果用户想要将电子设备100与电子设备200建立的应用组件业务连接删除,那么,电子设备100可以检测到用户针对选项462的操作(例如点击操作),响应于该操作,电子设备100可以删除电子设备100与电子设备200建立的应用组件业务连接,此外,还可以如图4B所示,在应用组件421上取消显示标识451,而且,应用组件421上显示的动态信息可以是基于电子设备100本地运行应用组件421的数据生成的,而不再是基于远端设备(例如电子设备200)上应用组件的运行数据生成的。
容易理解,在上述电子设备100与电子设备200的应用组件业务连接处于“已连接”状态的情况下,电子设备100也可以支持将电子设备100与电子设备200建立的应用组件业务连接删除。
示例性地,参阅图4H,电子设备100可以检测到用户针对标识451的操作(例如长按操作),响应于该操作,电子设备100可以显示图4K示例性所示的窗口470,该窗口中可以包括选项471(例如“删除”选项)。进一步地,电子设备100可以检测到用户针对选项471的操作(例如点击操作),响应于该操作,电子设备100可以删除电子设备100与电子设备200建立的应用组件业务连接。
在一些示例中,上述电子设备100与电子设备200的应用组件业务连接状态由“已连接”状态变为“断开连接”状态后,电子设备100也可以不需要用户主动触发进行重连,而是可以自动进行重连,这样,可以简化用户操作,而且在用户未及时发现业务连接断开的情况下,自动进行重连可以更方便快捷。
需要说明的是,上述“数据共享”场景下使用的应用组件仅仅以“待办”应用组件为例,不限于此,还可以是其他应用组件,本申请实施例对此不作限定。
可以理解的是,上述“数据共享”场景下,电子设备可以支持将一个应用组件的运行数据同步到另一个电子设备上,也可以支持将多个应用组件的运行数据同步到另一个电子设备上。此外,同一个电子设备也可以接收来自多个不同的电子设备同步过来的应用组件的运行数据。例如,参阅图4L,可以看出,PAD1和PAD2上的应用组件的运行数据均可以同步到电子设备100上,应用组件472显示的动态信息可以是基于PAD1上的应用组件的运行数据生成的,应用组件473显示的动态信息可以是基于PAD2上的应用组件的运行数据生成的,容易理解,应用组件472与应用组件473可以是图4L所示的同一个应用组件的两个不同实例化的应用组件,也可以是不同的两个应用组件。
二、控制命令同步场景:
图5A-图5L示例性示出了本申请实施例提供的应用组件交互方法在“控制命令同步”场景下实施时涉及的一系列用户界面。
假设电子设备100(例如手机)为本端设备,电子设备200(例如平板)为远端设备,以电子设备100将用户针对应用组件的控制命令同步到电子设备200为例来进行说明。
示例性地,参阅图5A,图5A所示的用户界面510可以为电子设备100的桌面,用户界面510中可以包括一个或多个应用组件(例如应用组件511)。
以应用组件511是电子设备100上的“相机”应用程序提供的一个应用组件为例,如图5A所示,应用组件511上可以显示有一个或多个选项(例如“拍照”选项、“录像”选项)。
其中,“拍照”选项可以用于通过电子设备100上的“相机”应用程序来拍摄照片。
其中,“录像”选项可以用于通过电子设备100上的“相机”应用程序来录制视频。
容易理解,在图5A所示的场景下,应用组件511只能支持用户控制本端设备来执行相应任务(例如拍照、录像),如果用户想要通过操作应用组件511来控制远端设备来执行相应任务(例如拍照、录像),那么,电子设备100可以支持用户进行如下示例性的操作:
参阅图5A,电子设备100可以检测到用户针对应用组件511的操作(例如长按操作),响应于该操作,电子设备100可以显示如图5B示例性所示的窗口520。
参阅图5B,窗口520中可以包括一个或多个选项(例如选项521、选项522)。
其中,选项521(例如“同步”选项)可以用于监听用户触发同步的操作,响应于监听到的用户触发同步的操作,可以触发电子设备100显示期望同步的设备信息列表,以便进一步将控制命令同步到用户选择的电子设备,从而可以实现电子设备100控制其他电子设备来执行相应任务。
其中,选项522(例如“移除”选项)可以用于将应用组件511从电子设备100的桌面上移除。
继续参阅图5B,如果用户想要通过操作应用组件511来控制远端设备来执行相应任务,那么,电子设备100可以检测到用户针对选项521的操作(例如点击操作),响应于该操作,电子设备100可以显示如图5C示例性所示的窗口530。
参阅图5C,窗口530中可以包括期望同步的设备信息列表,该设备信息列表中可以包括一个或多个电子设备的设备信息对应的选项(例如“我的平板”选项531、“TV”选项等等)。
其中,上述一个或多个电子设备可以为当前与电子设备100建立有通信连接的远端设备,或,之前与电子设备100建立过通信连接但当前与电子设备100未建立有通信连接的远端设备。
继续参阅图5C,假设电子设备200为“我的平板”,如果用户想要通过操作应用组件511来控制电子设备200来执行相应任务,那么,电子设备100可以检测到用户针对选项531的操作(例如点击操作),响应于该操作,电子设备100可以刷新显示应用组件511,例如,电子设备100可以在应用组件511上显示如图5D示例性所示的标识541。
其中,标识541上可以用于显示被控电子设备(即应用组件511所要控制的电子设备)的设备信息(例如设备名称、设备类型等信息),便于用户获知被控电子设备是哪个电子设备。例如,上述被控电子设备是电子设备200,电子设备200为“我的平板”,那么,标识541上则可以显示电子设备200的设备信息(例如“PAD”)。
其中,标识541还可以用于显示电子设备100与电子设备200建立应用组件业务连接的状态。示例性地,可以用标识541的背景颜色来表示应用组件业务连接的状态,例如,图5D所示的标识541的背景颜色(例如“绿色”)可以表示应用组件业务连接的状态为“已连接”状态(即连接成功)。不限于上述背景颜色,还可以用其他形式(例如文字、符号等)来显示应用组件业务连接的状态,本申请实施例对此不作限定。
在本申请实施例中,“电子设备100与电子设备200建立应用组件业务连接”可以是指电子设备100与电子设备200建立通信连接,且电子设备100上的某一个应用组件(例如应用组件511)与电子设备200上的某一个应用组件(例如电子设备200上的“相机”应用程序提供的一个应用组件)建立一个关联关系,基于该关联关系,一个应用组件的控制命令可以通过上述通信连接同步到另一个应用组件上,从而可以实现通过操作本端设备上的应用组件来控制远端设备执行相应任务的目的。
需要说明的是,本申请实施例对标识541的显示方式(例如显示位置、显示样式等)不作限定。例如,标识541的显示位置可以是在应用组件511右上角的位置,也可以是其他位置(例如应用组件511左上角、右下角、左下角等位置);又例如,标识541的显示样式可以是矩形样式,也可以是其他样式(例如椭圆形、方形等样式)。
参阅图5D,在上述电子设备100与电子设备200的应用组件业务连接处于“已连接”状态的情况下,用户可以通过操作应用组件511来控制电子设备200来执行相应任务(例如拍照、录像),此时,电子设备100可以相当于遥控器,电子设备200则可以相当于被遥控器控制的电子设备。
以电子设备100控制电子设备200来执行“拍照”任务为例,电子设备100可以检测到用户针对应用组件511上的“拍照”选项的操作(例如点击操作),响应于该操作,电子设备100可以向电子设备200发送控制命令,该命令可以用于指示电子设备200启动“相机”应用程序,进入拍照模式。
电子设备200在接收到电子设备100发送的上述控制命令之后,可以启动“相机”应用程序,并显示如图5E示例性所示的用户界面550。
其中,电子设备200可以是通过“相机”应用程序提供的一个应用组件(即与上述应用组件511建立了应用组件业务连接的应用组件)来启动“相机”应用程序的,该应用组件可以是对用户可见的(例如显示在电子设备200的某一个用户界面上),也可以是对用户不可见的。
参阅图5E,用户界面550可以为电子设备200的“相机”应用程序提供的一个用户界面,该用户界面中可以包括预览框551、摄像头翻转选项552、快门选项553、图库快捷选项554,相机模式选项555。
其中,预览框551可以用于显示电子设备200的摄像头实时采集的图像,电子设备200可以实时刷新其中的显示内容,以便用户可以预览摄像头当前采集的图像。
其中,摄像头翻转选项552可用于监听用户触发翻转摄像头的操作。电子设备200可以检测到用户针对摄像头翻转选项552的操作(例如点击操作),响应于该操作,电子设备200可以翻转摄像头,例如将后置摄像头切换为前置摄像头。
其中,快门选项553可以用于监听用户触发拍照的操作。电子设备200可以检测到用户针对快门选项553的操作(例如点击操作),响应于该操作,电子设备200可以将预览框551中的图像保存为“图库”应用程序中的图片。另外,电子设备200还可以在图库快捷选项554中显示所保存的图像的缩略图。“图库”应用程序是智能手机、平板电脑等电子设备上的一款图片管理的应用程序,又可以称为“相册”,本实施例对该应用程序的名称不做限制。“图库”应用程序可以支持用户对存储于电子设备200上的图片进行各种操作,例如浏览、编辑、删除、选择等操作。
其中,图库快捷选项554可以用于开启“图库”应用程序。电子设备200可以检测到用户针对图库快捷选项554的操作(例如点击操作),响应于该操作,电子设备200可以开启“图库”应用程序。这样,用户可以便捷地查看拍摄的照片和视频,而无需先退出“相机”应用程序,再开启“图库”应用程序。
其中,相机模式选项555可以包括一个或多个拍摄模式选项(例如“拍照”选项、“录像”选项等)。电子设备200可以检测到用户针对某一个拍摄模式选项的操作(例如点击操作),响应于该操作,电子设备200可以开启用户选择的拍摄模式。可以看出,图5E所示的拍摄模式为“拍照”模式。
在一些示例中,电子设备200可以在桌面上显示应用组件561,其中,应用组件561与电子设备100上的应用组件511类似(例如应用组件561上也可以显示有应用组件511上显示的“拍照”选项、“录像”选项),均可以是能够提供拍摄功能的应用组件。在这种情况下,电子设备200在接收到电子设备100发送的上述控制命令之后,也可以不是全屏显示图5E示例性所示的用户界面,而是在应用组件561上显示图5F示例性所示的窗口562,窗口562可以是用于进行拍照的一个窗口,窗口562中可以包括预览框563、快门选项565,预览框563可以用于显示电子设备200的摄像头实时采集的图像,快门选项565可以用于监听用户触发拍照的操作。可选地,窗口562中还可以包括摄像头翻转选项564、图库快捷选项566,摄像头翻转选项564可用于监听用户触发翻转摄像头的操作,图库快捷选项566可以用于开启“图库”应用程序。
在一些示例中,电子设备200在响应电子设备100发送的控制指令(例如启动“相机”应用程序、执行拍照操作)时,也可以不将前述图5E所示的用户界面550或前述图5F所示的窗口562显示出来,即前述图5E所示的用户界面550或前述图5F所示的窗口562可以对用户不可见。
在本申请实施例中,电子设备100可以控制电子设备200来执行“拍照”任务,也即是是说,用户只需操作电子设备100即可控制电子设备200来执行“拍照”任务,无需操作电子设备200。
电子设备100在检测到用户针对图5D所示的应用组件511上的“拍照”选项的操作(例如点击操作)之后,在向电子设备200发送上述控制命令的同时,还可以在应用组件511上显示窗口570,窗口570可以是用于进行拍照的一个窗口,窗口570中可以包括预览框571、快门选项572,其中,预览框571可以用于显示摄像头实时采集的图像,快门选项565可以用于监听用户触发拍照的操作。
在一些示例中,电子设备200可以将电子设备200的摄像头实时采集的图像发送给电子设备100,电子设备100可以在预览框571中显示电子设备200的摄像头实时采集的图像,以便用户可以通过电子设备100实时查看到电子设备200的摄像头采集的图像。
可选地,窗口570中还可以包括摄像头翻转选项574、图库快捷选项573,摄像头翻转选项574可用于监听用户触发翻转摄像头的操作,图库快捷选项573可以用于开启“图库”应用程序。
如果用户想要将图5E所示的电子设备200的预览框551中显示的图像(或图5F所示的电子设备200的预览框563中显示的图像)拍摄下来,那么,电子设备100可以检测到用户针对图5G所示的快门选项572的操作(例如点击操作),响应于该操作,电子设备100可以向电子设备200发送控制命令,该命令可以用于指示电子设备200执行拍照操作,电子设备200在接收到该命令之后,可以将图5E所示的电子设备200的预览框551中显示的图像(或图5F所示的电子设备200的预览框563中显示的图像)保存为电子设备200的“图库”应用程序中的图片。这样,用户点击电子设备100的快门选项达到了与用户点击电子设备200的快门选项相同的效果,实现了电子设备100控制电子设备200执行“拍照”任务的目的。
进一步地,电子设备200还可以将上述拍摄好的图片发送给电子设备100进行显示。示例性地,电子设备100在接收到上述电子设备200拍摄好的图片之后,可以把该图片保存到“图库”应用程序,还可以在图5G所示的图库快捷选项573上显示该图片的缩略图,用户点击图库快捷选项573之后,可以开启电子设备100的“图库”应用程序,并显示图5H示例性所示的用户界面,该用户界面可以为电子设备100的“图库”应用程序提供的一个用户界面,该用户界面中可以显示有上述电子设备200拍摄好的图片。这样,用户就可以在电子设备100上查看通过电子设备100来控制电子设备200进行拍摄的图片了。
在本申请实施例中,电子设备100还可以支持用户在“图库”应用程序上针对上述电子设备200拍摄的图片进行各种操作(例如分享、收藏、删除等操作)。
容易理解,用户还可以通过点击图5D所示的应用组件511上的“录像”选项使得电子设备100控制电子设备200来执行“录像”任务,这一过程与上述电子设备100控制电子设备200来执行“拍照”任务类似,在此不再赘述。
在上述电子设备100与电子设备200的应用组件业务连接成功建立之后,如果该业务连接中途断开,电子设备100还可以显示业务连接断开的状态,并可以支持重新建立业务连接,还可以支持删除该业务连接。
示例性地,参阅图5I,如果网络状态发生中断,上述电子设备100与电子设备200的应用组件业务连接状态则可能就会由“已连接”状态变为“断开连接”状态,在这种情况下,为了便于用户及时获知业务连接的状态,电子设备100可以刷新显示标识541,例如,可以将标识541的背景颜色由“已连接”状态下的背景颜色(例如“绿色”)刷新显示为图5I示例性所示的“断开连接”状态下的背景颜色(例如“红色”)。不限于背景颜色,“断开连接”状态下的标识541只要能够让用户可以与“已连接”状态下的标识541区别开来即可,本申请实施例对其显示方式不作限定。
参阅图5I,电子设备100可以检测到用户针对标识541的操作(例如长按操作),响应于该操作,电子设备100可以显示图5J示例性所示的窗口580。
参阅图5J,窗口580中可以包括一个或多个选项(例如选项581、选项582)。
其中,选项581(例如“重连”选项)可以用于电子设备100与电子设备200重新建立应用组件业务连接。
其中,选项582(例如“删除”选项)可以用于将电子设备100与电子设备200建立的应用组件业务连接删除。
继续参阅图5J,如果用户想要电子设备100与电子设备200重新建立应用组件业务连接,那么,电子设备100可以检测到用户针对选项581的操作(例如点击操作),响应于该操作,电子设备100可以与电子设备200重新建立应用组件业务连接,业务连接建立成功之后,电子设备100可以刷新显示标识541,例如,可以将标识541的背景颜色由图5I示例性所示的“断开连接”状态下的背景颜色(例如“红色”)刷新显示为图5D示例性所示的“已连接”状态下的背景颜色(例如“绿色”)。
继续参阅图5J,如果用户想要将电子设备100与电子设备200建立的应用组件业务连接删除,那么,电子设备100可以检测到用户针对选项582的操作(例如点击操作),响应于该操作,电子设备100可以删除电子设备100与电子设备200建立的应用组件业务连接,此外,还可以在应用组件511上取消显示标识541,容易理解,在删除业务连接之后,用户如果再针对应用组件511进行操作(例如针对“拍照”选项进行操作、针对“录像”选项进行操作),那么,电子设备100则无法再控制电子设备200执行相应任务了,而是控制电子设备100自身执行相应任务。
容易理解,在上述电子设备100与电子设备200的应用组件业务连接处于“已连接”状态的情况下,电子设备100也可以支持将电子设备100与电子设备200建立的应用组件业务连接删除。
示例性地,参阅图5D,电子设备100可以检测到用户针对标识541的操作(例如长按操作),响应于该操作,电子设备100可以显示图5K示例性所示的窗口590,该窗口中可以包括选项591(例如“删除”选项)。进一步地,电子设备100可以检测到用户针对选项591的操作(例如点击操作),响应于该操作,电子设备100可以删除电子设备100与电子设备200建立的应用组件业务连接。
在一些示例中,上述电子设备100与电子设备200的应用组件业务连接状态由“已连接”状态变为“断开连接”状态后,电子设备100也可以不需要用户主动触发进行重连,而是可以自动进行重连,这样,可以简化用户操作,而且在用户未及时发现业务连接断开的情况下,自动进行重连可以更方便快捷。
可以理解的是,上述仅仅以“相机”应用程序提供的一个应用组件为例来进行说明用户通过操作本端设备上的其他应用组件来控制远端设备执行相应任务,不限于此,用户还可以通过操作本端设备上的其他应用组件来控制远端设备执行相应任务,本申请实施例对此不作限定。
可以理解的是,上述仅仅是以用户通过操作本端设备上的一个应用组件来控制一个远端设备执行相应任务为例,不限于此,用户还可以通过操作本端设备上的多个应用组件来控制多个远端设备执行相应任务。例如,参阅图5L,可以看出,应用组件592可以用于控制PAD1来执行相应任务,应用组件593可以用于控制PAD2来执行相应任务,容易理解,应用组件592与应用组件593可以是图5L所示的同一个应用组件的两个不同实例化的应用组件,也可以是不同的两个应用组件。
需要说明的是,上述数据共享场景、控制命令同步场景所示实施例中的应用组件均以显示在电子设备的桌面上为例,不限于此,还可以显示在负一屏、其他应用程序的界面上,本申请实施例对此不作限定。
结合上述在数据共享场景、控制命令同步场景下的一系列用户界面,下面详细介绍本申请实施例提供的应用组件交互方法在数据共享场景、控制命令同步场景下可能的实现方式的具体流程。
一、数据共享场景:
下面介绍本申请实施例提供的应用组件交互方法在“数据共享”场景下的具体执行过程。
图6示例性示出了本申请实施例提供的应用组件交互方法在“数据共享”场景下的具体流程。
如图6所示,该方法可以应用于包括电子设备100(即本端设备,也可以称为Sink端设备)、电子设备200(即远端设备,也可以称为Source端设备)的通信系统。下面详细介绍该方法的具体步骤:
首先,在本申请实施例中,电子设备100与电子设备200之间需要建立应用组件业务连接,在建立完成应用组件业务连接的前提下,才可以继续执行下述阶段二中的各个步骤,以实现应用组件跨设备进行数据共享的目的。
示例性地,电子设备100与电子设备200之间建立应用组件业务连接的一种可能的实现方式可以为下述阶段一(步骤S601-步骤S605)中描述的实现方式,下面详细介绍:
阶段一:建立应用组件业务连接阶段
S601-S602、电子设备100检测到用户触发建立应用组件业务连接1的事件,响应于该事件,电子设备100向电子设备200发送建立应用组件业务连接1的请求,该请求中包括电子设备100的设备信息、应用组件1的信息。
其中,上述用户触发建立应用组件业务连接1的事件可以是用户触发电子设备100与电子设备200之间建立应用组件业务连接的事件。
需要说明的是,本申请实施例对于上述“用户触发建立应用组件业务连接1的事件”的UX交互方式不作限定。例如,可以是前述图4B-图4D示例性所示的UX交互方式。
其中,电子设备100的设备信息可以包括但不限于电子设备100的设备类型、设备名称、设备关键标识(例如设备ID)、序列号、媒体访问控制地址、设备型号、连接方式等信息,本申请实施例对此不作限定。
其中,应用组件1的信息可以包括但不限于应用组件1的包名和类名。例如,应用组件1可以为前述图4B示例性所示的应用组件421(即“待办”应用组件),那么,应用组件1的包名可以为com.xxx.xxx.note,应用组件1的类名可以为com.xxx.xxx.todo。
S603、电子设备200对电子设备100进行可信验证,若可信验证成功,则确定建立应用组件业务连接1,并保存电子设备100的设备信息、应用组件1的信息。
具体地,电子设备200接收到电子设备100发送的上述建立应用组件业务连接1的请求之后,可以对电子设备100进行可信验证,其中,可信验证过程验证的信息包括但不限于电子设备100的设备证书、登录的账号、签名、软件版本兼容性等信息,可信认证的方式可以有多种,本申请实施例对此不作限定。
进一步地,若可信验证成功,则确定可以建立应用组件业务连接1。
进一步地,电子设备200还可以保存上述建立应用组件业务连接1的请求中包括的电子设备100的设备信息、应用组件1的信息。
S604-S605、电子设备200与电子设备100建立应用组件业务连接1,电子设备100显示应用组件业务连接1建立成功的标识信息。
具体地,电子设备200在确定可以建立应用组件业务连接1之后,电子设备200可以与电子设备100建立应用组件业务连接1,在成功建立应用组件业务连接1之后,电子设备100可以显示应用组件业务连接1建立成功的标识信息,以便用户可以获知电子设备200与电子设备100已经成功建立应用组件业务连接1,当前处于“已连接”状态。
其中,应用组件业务连接1建立成功的标识信息的显示方式可以是前述图4E示例性所示的标识451的显示方式。
在电子设备200与电子设备100建立应用组件业务连接1之后,电子设备200还可以向电子设备100发送连接成功的消息,该消息中可以包括电子设备200的设备信息、应用组件的信息(即与应用组件1建立应用组件业务连接1的应用组件的信息);其中,电子设备200的设备信息可以包括但不限于电子设备200的设备类型、设备名称、设备关键标识(例如设备ID)、序列号、媒体访问控制地址、设备型号、连接方式等信息,本申请实施例对此不作限定;其中,应用组件的信息可以包括但不限于应用组件的ID(例如应用组件的实例化ID)等信息,本申请实施例对此不作限定。
下面结合图7示例性介绍在上述建立应用组件业务连接阶段电子设备100与电子设备200内部各个模块之间的一种可能的协作方式:
步骤1、电子设备100的应用组件可以通过公共UIKit检测到触发建立应用组件业务连接的事件。
示例性地,上述触发建立应用组件业务连接的事件可以是前述图4C所示的用户针对选项431进行操作的事件。
步骤2、电子设备100的公共UIKit可以调用电子设备100的设备管理模块,以请求获取可供连接的设备信息列表,在检测到触发电子设备100与电子设备200建立应用组件业务连接的事件(即用户指定电子设备100与电子设备200建立应用组件业务连接)之后,电子设备100的公共UIKit可以将该事件的信息发送给电子设备100的设备管理模块。
步骤3、电子设备100的设备管理模块可以调用电子设备100的数据通信软总线,以请求电子设备100与电子设备200建立应用组件业务连接。
步骤4、电子设备100的数据通信软总线可以通过电子设备100的内核及硬件平台层、网络通信硬件层向电子设备200请求建立连接。
步骤5、电子设备200的数据通信软总线可以通过电子设备200的内核及硬件平台层、网络通信硬件层接收到电子设备100发送的建立连接的请求,之后,电子设备200可以通过调用电子设备200的数据通信软总线来与电子设备100握手建立连接。
步骤6、电子设备200的数据通信软总线可以向电子设备200的设备管理模块发送电子设备100的信息。
其中,电子设备100的信息可以包括电子设备100的设备信息、应用组件1的信息。
步骤7、电子设备200的设备管理模块可以调用电子设备200的安全验证管理模块,以请求对电子设备100进行可信验证。
步骤8、在电子设备200的安全验证管理模块对电子设备100进行可信验证成功之后,电子设备200的设备管理模块可以向电子设备200的应用组件管理服务模块发送电子设备100的信息,以便电子设备200的应用组件管理服务模块可以进行兼容性验证。
其中,兼容性验证可以是指软件版本兼容性验证,例如,上述应用组件1的版本兼容性验证,应用组件的版本兼容性验证所要验证的信息可以包含在上述应用组件1的信息中。
在上述兼容性验证通过之后,电子设备200的设备管理模块可以保存电子设备100的信息。
在一些示例中,电子设备200的应用组件管理服务模块也可以保存电子设备100的信息。
在一些示例中,电子设备200的设备管理模块也可以只将电子设备100的信息中包括的应用组件1的信息回调(callback)给电子设备200的应用组件管理服务模块。
步骤9、电子设备200的应用组件管理服务模块可以向电子设备200的应用组件发送电子设备100的信息。
在一些示例中,电子设备200的设备管理模块也可以只将电子设备100的信息中包括的应用组件1的信息回调给电子设备200的应用组件。
容易理解,上述电子设备200的应用组件是与应用组件1建立应用组件业务连接1的应用组件。
在本申请实施例中,用户可以通过应用组件进行连接状态的管理,上述内容介绍的是建立连接的过程,除了建立连接,还可以支持在连接中断之后重新建立连接(重连)、删除连接。容易理解,重连和删除连接的过程与上述建立连接的过程类似,在此不再赘述。
在一些示例中,删除连接之后,电子设备100的可以删除已保存的电子设备200的信息(例如电子设备200的设备信息、电子设备200的应用组件的信息),电子设备200也可以删除已保存的电子设备100的信息(例如电子设备100的设备信息、电子设备100的应用组件的信息)。
电子设备100与电子设备200建立完成应用组件业务连接之后,电子设备200可以基于该业务连接向电子设备100发送应用组件的运行数据,实现应用组件跨设备进行数据共享的目的。
示例性地,应用组件跨设备进行数据共享的一种可能的实现方式可以为下述阶段二(步骤S606-步骤S607)中描述的实现方式,下面详细介绍:
阶段二:应用组件跨设备数据共享阶段
S606、电子设备200向电子设备100发送消息1,该消息中包括运行数据1,运行数据1为应用组件2在电子设备200上的运行数据,应用组件2为与应用组件1建立应用组件业务连接1的应用组件。
具体地,在建立完成应用组件业务连接之后,电子设备200可以向电子设备100发送消息1,该消息中包括运行数据1,这样,可以将电子设备200的应用组件的运行数据同步到电子设备100上,以便实现应用组件跨设备进行数据共享的目的。
示例性地,应用组件2可以为前述图4A所示的应用组件411,应用组件1可以为前述图4B所示的应用组件421。
S607、电子设备100基于运行数据1显示刷新后的应用组件1。
具体地,电子设备100在接收到电子设备200发送的上述消息1之后,可以基于该消息中包括的运行数据1来生成应用组件相应的动态信息,然后,将该动态信息显示在应用组件1上,即显示刷新后的应用组件1。
示例性地,上述刷新后的应用组件1可以为图4F所示的应用组件421。
通过实施上述图6所示实施例提供的方法,基于可信网络数据通信技术、分布式数据同步技术,远端设备(例如电子设备200)可以将应用组件的运行数据同步到本端设备(例如电子设备100),本端设备可以基于该运行数据刷新显示本端设备上的应用组件的界面,实现了应用组件跨设备进行数据共享的目的,用户全程无需操作远端设备即可便捷地将远端设备上应用组件的运行数据同步到本端设备,简化用户操作,提高用户体验。
下面结合图8示例性介绍在上述应用组件跨设备数据共享阶段电子设备100与电子设备200内部各个模块之间的一种可能的协作方式:
步骤1、电子设备200的应用组件可以向电子设备200的应用组件管理服务模块发送运行数据1。
具体地,在建立完成应用组件业务连接之后,电子设备200的应用组件可以通过电子设备200的应用组件管理服务模块提供的API将运行中的最近数据(例如运行数据1)向电子设备100进行同步。
其中,上述电子设备200的应用组件可以是前述图6中的应用组件2。
步骤2、电子设备200的应用组件管理服务模块可以调用电子设备200的设备管理模块,以请求获取接收端设备的信息。
具体地,由于电子设备200的设备管理模块在前述图7中保存了接收端设备的信息(例如前述电子设备100的信息),因此,电子设备200的应用组件管理服务模块在接收到电子设备200的应用组件发送的运行数据1之后,可以调用电子设备200的设备管理模块获取接收端设备的信息,以便确定需要将运行数据1发送给哪个/哪些电子设备。
在一些示例中,上述步骤2是可选的,例如,在电子设备200的应用组件管理服务模块中保存有接收端设备的信息的情况下,可以不用执行上述步骤2。
在本申请实施例中,以上述接收端设备是电子设备100为例。
步骤3、电子设备200的应用组件管理服务模块可以向电子设备200的分布式数据管理模块发送运行数据1。
具体地,在确定需要将运行数据1发送给哪个/哪些电子设备之后,电子设备200的应用组件管理服务模块可以调用电子设备200的分布式数据管理模块,以请求进行运行数据1的实际传输。
步骤4、电子设备200的分布式数据管理模块可以向电子设备200的数据通信软总线发送运行数据1。
具体地,在接收到电子设备200的应用组件管理服务模块发送的运行数据1之后,电子设备200的分布式数据管理模块可以调用电子设备200的数据通信软总线,以请求向其他电子设备(例如电子设备100)进行运行数据1的传输。
步骤5、电子设备200的数据通信软总线可以向电子设备200的内核及硬件平台层发送运行数据1。
具体地,在接收到电子设备200的分布式数据管理模块发送的运行数据1之后,电子设备200的数据通信软总线可以通过电子设备200的内核及硬件平台层提供的驱动程序来调用电子设备200的网络通信硬件层,以请求通过电子设备200与其他电子设备(例如电子设备100)建立的数据传输链路将上述运行数据1发送给其他电子设备(例如电子设备100)。
步骤6、电子设备200的网络通信硬件层可以向电子设备100的网络通信硬件层发送运行数据1。
容易理解,该步骤是通过物理链路将运行数据1从电子设备200上传输到电子设备100上的。
步骤7、电子设备100的网络通信硬件层通过电子设备100的内核及硬件平台层将运行数据1发送给电子设备100的数据通信软总线。
具体地,在接收到电子设备200的网络通信硬件层发送的运行数据1之后,电子设备100的网络通信硬件层可以通过电子设备100的内核及硬件平台层回调电子设备100的数据通信软总线,将运行数据1发送给电子设备100的数据通信软总线。
步骤8、电子设备100的数据通信软总线可以向电子设备100的分布式数据管理模块发送运行数据1。
具体地,在接收到电子设备100的内核及硬件平台层发送的运行数据1之后,电子设备100的数据通信软总线可以回调电子设备100的分布式数据管理模块,将运行数据1发送给电子设备100的分布式数据管理模块。进一步地,电子设备100的分布式数据管理模块可以将运行数据1进行数据持久化。
可以理解的是,电子设备200在向电子设备100发送运行数据1的同时,还可以发送一些与运行数据1相关的信息,例如,运行数据1的来源方的设备信息、运行数据1的发送时间、生成运行数据1的应用组件的信息等等,以便电子设备100可以基于这些信息对运行数据1做进一步处理(例如确定是来自哪个设备上的哪个应用组件、进行数据持久化等)。其中,运行数据1和上述与运行数据1相关的信息可以是以消息的形式一同发送给电子设备100,例如,图6所示的步骤S606中,电子设备200向电子设备100发送的消息1。
示例性地,上述消息1中可以包括但不限于以下代码:
<sourcedeviceId=“xxx”timestamp=“xxx”serviceId=“xxx”>
<data>
…
</data>
</source>
其中,上述<source>标签中source元素可以用于指定与运行数据1相关的一些属性,例如,deviceId这一属性可以用于指定运行数据1的来源方的设备ID,timestamp这一属性可以用于指定运行数据1的发送时间,serviceId这一属性可以用于指定运行数据1的服务ID(即生成运行数据1的应用组件的ID)。
其中,上述<data>标签(开始标签)与</data>标签(结束标签)之间的内容可以是运行数据1。
在实际应用中,电子设备200在向电子设备100进行数据同步的过程中,由于网络状态的原因,可能会出现数据先发后至或后发先至的情况,为了确保同步过来的运行数据是最新的,电子设备100的分布式数据管理模块可以基于上述timestamp这一属性对应的时间戳来进行数据持久化,容易理解,如果运行数据1的timestamp这一属性对应的时间戳相比于之前同步过来的数据的timestamp这一属性对应的时间戳来说更大,则电子设备100可以确定运行数据1是最新的数据,进一步地,电子设备100可以对运行数据1进行数据持久化。
步骤9、电子设备100的分布式数据管理模块可以向电子设备100的应用组件管理服务模块发送运行数据1。
具体地,在对运行数据1进行数据持久化之后,电子设备100的分布式数据管理模块可以回调电子设备100的应用组件管理服务模块,将运行数据1发送给电子设备100的应用组件管理服务模块。
步骤10、电子设备100的应用组件管理服务模块可以向电子设备100的应用组件发送运行数据1。
具体地,在接收到电子设备100的分布式数据管理模块发送的运行数据1之后,电子设备100的应用组件管理服务模块可以回调电子设备100的应用组件,将运行数据1发送给电子设备100的应用组件,以便通知电子设备100的应用组件需要进行刷新显示。
其中,上述电子设备100的应用组件可以是前述图6中的应用组件1。
步骤11、电子设备100的应用组件可以向电子设备100的公共UIKit通知刷新显示应用组件。
具体地,在接收到电子设备100的应用组件管理服务模块发送的运行数据1之后,电子设备100的应用组件可以向电子设备100的公共UIKit通知刷新显示应用组件,也即是说,电子设备100的应用组件可以基于运行数据1(即最新的分布式数据)通过电子设备100的公共UIKit来进行UI显示刷新,刷新完成后,电子设备100可以显示刷新后的应用组件。
二、控制命令同步场景:
下面介绍本申请实施例提供的应用组件交互方法在“控制命令同步”场景下的具体执行过程。
图9示例性示出了本申请实施例提供的应用组件交互方法在“控制命令同步”场景下的具体流程。
如图9所示,该方法可以应用于包括电子设备100(即本端设备,也可以称为Source端设备)、电子设备200(即远端设备,也可以称为Sink端设备)的通信系统。下面详细介绍该方法的具体步骤:
首先,在本申请实施例中,电子设备100与电子设备200之间需要建立应用组件业务连接,在建立完成应用组件业务连接的前提下,才可以继续执行下述阶段二中的各个步骤,以实现应用组件跨设备进行控制命令同步的目的。
示例性地,电子设备100与电子设备200之间建立应用组件业务连接的一种可能的实现方式可以为下述阶段一(步骤S901-步骤S905)中描述的实现方式,下面详细介绍:
阶段一:建立应用组件业务连接阶段
S901-S902、电子设备100检测到用户触发建立应用组件业务连接1’的事件,响应于该事件,电子设备100向电子设备200发送建立应用组件业务连接1’的请求,该请求中包括电子设备100的设备信息、应用组件1’的信息。
其中,应用组件1’的信息中可以包括但不限于应用组件1’的包名和类名、应用组件1’的ID(例如应用组件1’的实例化ID)。
其中,步骤S901-步骤S902与前述图6所示的步骤S601-步骤S602类似,其具体执行过程可以参照前述图6所示的步骤S601-步骤S602的相关文字描述,在此不再赘述。
S903、电子设备200对电子设备100进行可信验证,若可信验证成功,则确定建立应用组件业务连接1’,并保存电子设备100的设备信息、应用组件1’的信息。
其中,步骤S903与前述图6所示的步骤S603类似,其具体执行过程可以参照前述图6所示的步骤S603的相关文字描述,在此不再赘述。
S904-S905、电子设备200与电子设备100建立应用组件业务连接1’,电子设备100显示应用组件业务连接1’建立成功的标识信息。
具体地,电子设备200在确定可以建立应用组件业务连接1’之后,电子设备200可以与电子设备100建立应用组件业务连接1’,在成功建立应用组件业务连接1’之后,电子设备100可以显示应用组件业务连接1’建立成功的标识信息,以便用户可以获知电子设备200与电子设备100已经成功建立应用组件业务连接1’,当前处于“已连接”状态。
其中,应用组件业务连接1’建立成功的标识信息的显示方式可以是前述图5D示例性所示的标识541的显示方式。
其中,上述建立应用组件业务连接阶段电子设备100与电子设备200内部各个模块之间的一种可能的协作方式与前述图7类似,在此不再赘述。
电子设备100与电子设备200建立完成应用组件业务连接之后,电子设备100可以基于该业务连接向电子设备200发送控制命令,实现应用组件跨设备进行控制命令同步的目的。
示例性地,应用组件跨设备进行控制命令同步的一种可能的实现方式可以为下述阶段二(步骤S906-步骤S908)中描述的实现方式,下面详细介绍:
阶段二:应用组件跨设备控制命令同步阶段
S906-S907、电子设备100检测到用户针对应用组件1’的操作1,响应于该操作1,电子设备100可以向电子设备200发送消息1’,该消息中可以包括控制命令1,该命令可以是电子设备100基于操作1生成的。
示例性地,上述应用组件1’可以是前述图5D所示的应用组件511。
示例性地,上述操作1可以是前述图5D所示的用户针对应用组件511上的“拍照”选项的操作(例如点击操作),上述控制命令1可以是用于指示电子设备200启动“相机”应用程序(例如启动“相机”应用程序并显示图5E或图5F所示的拍照界面)的命令。
示例性地,上述操作1可以是前述图5G所示的用户针对快门选项572的操作(例如点击操作),上述控制命令1可以是用于指示电子设备200执行拍照操作的命令。
S908、电子设备200基于控制命令1执行相应任务。
具体地,电子设备200在接收到电子设备100发送的上述消息1’之后,可以响应该消息中包括的控制命令1,即可以基于控制命令1执行相应任务。
示例性地,在上述控制命令1是用于指示电子设备200启动“相机”应用程序的命令的情况下,电子设备200可以启动“相机”应用程序,例如,启动“相机”应用程序并显示图5E所示的用户界面,或,在图5F所示的应用组件561上显示窗口562。
示例性地,在上述控制命令1是用于指示电子设备200执行拍照操作的命令的情况下,电子设备200可以执行拍照操作,例如,将图5E所示的电子设备200的预览框551中显示的图像(或图5F所示的电子设备200的预览框563中显示的图像)保存为电子设备200的“图库”应用程序中的图片。
通过实施上述图9所示实施例提供的方法,基于可信网络数据通信技术、分布式数据同步技术,本端设备(例如电子设备100)可以将用户针对本端设备上的应用组件的控制命令同步到远端设备(例如电子设备200),以使得远端设备执行该控制命令对应的任务。也即是说,用户可以便捷地通过操作本端设备上的应用组件来控制远端设备执行相应任务,从而实现应用组件跨设备进行控制命令同步的目的,用户在本端设备的控制行为可以直达远端设备,使得远端设备呈现用户在本端设备的控制行为所达到的控制效果,简化用户操作,提高用户体验。
下面结合图10示例性介绍在上述应用组件跨设备控制命令同步阶段电子设备100与电子设备200内部各个模块之间的一种可能的协作方式:
步骤1、电子设备100的应用组件可以向电子设备100的应用组件管理服务模块发送控制命令1。
具体地,在建立完成应用组件业务连接之后,电子设备100的应用组件可以通过电子设备100的应用组件管理服务模块提供的API将用户操作生成的控制命令(例如控制命令1)向电子设备200进行同步。
其中,上述电子设备100的应用组件可以是前述图9中的应用组件1’。
示例性地,应用组件1’可以是前述图5D所示的应用组件511。
步骤2、电子设备100的应用组件管理服务模块可以调用电子设备100的设备管理模块,以请求获取接收端设备的信息。
具体地,在建立完成应用组件业务连接之后,接收端设备(例如电子设备200)可以向电子设备100发送接收端设备的信息(例如接收端设备的设备信息、与应用组件1’建立应用组件业务连接1’的应用组件的信息),电子设备100的设备管理模块中可以保存接收端设备的信息(例如电子设备200的设备信息、与应用组件1’建立应用组件业务连接1’的应用组件的信息),因此,电子设备100的应用组件管理服务模块在接收到电子设备100的应用组件发送的控制命令1之后,可以调用电子设备100的设备管理模块获取接收端设备的信息,以便确定需要将控制命令1发送给哪个/哪些电子设备。
在一些示例中,上述步骤2是可选的,例如,在电子设备100的应用组件管理服务模块中也保存有接收端设备的信息的情况下,可以不用执行上述步骤2。
在本申请实施例中,以上述接收端设备是电子设备200为例。
步骤3、电子设备100的应用组件管理服务模块可以向电子设备100的分布式数据管理模块发送控制命令1。
具体地,在确定需要将控制命令1发送给哪个/哪些电子设备之后,电子设备100的应用组件管理服务模块可以调用电子设备100的分布式数据管理模块,以请求进行控制命令1的实际传输。
步骤4、电子设备100的分布式数据管理模块可以向电子设备100的数据通信软总线发送控制命令1。
具体地,在接收到电子设备100的应用组件管理服务模块发送的控制命令1之后,电子设备100的分布式数据管理模块可以调用电子设备100的数据通信软总线,以请求向接收端设备(例如电子设备200)进行控制命令1的传输。
步骤5、电子设备100的数据通信软总线可以向电子设备100的内核及硬件平台层发送控制命令1。
具体地,在接收到电子设备100的分布式数据管理模块发送的控制命令1之后,电子设备100的数据通信软总线可以通过电子设备100的内核及硬件平台层提供的驱动程序来调用电子设备100的网络通信硬件层,以请求通过电子设备100与接收端设备(例如电子设备200)建立的数据传输链路将上述控制命令1发送给接收端设备(例如电子设备200)。
步骤6、电子设备100的网络通信硬件层可以向电子设备200的网络通信硬件层发送控制命令1。
容易理解,该步骤是通过物理链路将控制命令1从电子设备100上传输到电子设备200上的。
步骤7、电子设备200的网络通信硬件层通过电子设备200的内核及硬件平台层将控制命令1发送给电子设备200的数据通信软总线。
具体地,在接收到电子设备100的网络通信硬件层发送的控制命令1之后,电子设备200的网络通信硬件层可以通过电子设备200的内核及硬件平台层回调电子设备200的数据通信软总线,将控制命令1发送给电子设备200的数据通信软总线。
步骤8、电子设备200的数据通信软总线可以向电子设备200的分布式数据管理模块发送控制命令1。
具体地,在接收到电子设备200的内核及硬件平台层发送的控制命令1之后,电子设备200的数据通信软总线可以回调电子设备200的分布式数据管理模块,将控制命令1发送给电子设备200的分布式数据管理模块。
可以理解的是,电子设备100在向电子设备200发送控制命令1的同时,还可以发送一些与控制命令1相关的信息,例如,控制命令1的来源方的设备信息、控制命令1的发送时间、生成控制命令1的应用组件的信息等等,以便电子设备200可以基于这些信息对控制命令1做进一步处理(例如确定是来自哪个设备上的哪个应用组件、进行多命令排序等)。其中,控制命令1和上述与控制命令1相关的信息可以是以消息的形式一同发送给电子设备200,例如,图9所示的步骤S907中,电子设备100向电子设备200发送的消息1’。
示例性地,上述消息1’中可以包括但不限于以下代码:
<sourcedeviceId=“xxx”timestamp=“xxx”serviceId=“xxx”>
<action>
…
</action>
</source>
其中,上述<source>标签中source元素可以用于指定与控制命令1相关的一些属性,例如,deviceId这一属性可以用于指定控制命令1的来源方的设备ID,timestamp这一属性可以用于指定控制命令1的发送时间,serviceId这一属性可以用于指定控制命令1的服务ID(即生成控制命令1的应用组件的ID)。
其中,上述<action>标签(开始标签)与</action>标签(结束标签)之间的内容可以是控制命令1。
在实际应用中,电子设备100在向电子设备200进行控制命令同步的过程中,由于网络状态的原因,可能会出现控制命令先发后至或后发先至的情况,为了确保同步过来的控制命令是最新的,电子设备200的分布式数据管理模块可以基于上述timestamp这一属性对应的时间戳来进行多命令排序,容易理解,如果控制命令1的timestamp这一属性对应的时间戳相比于之前同步过来的控制命令的timestamp这一属性对应的时间戳来说更大,则电子设备200可以确定控制命令1是最新的控制命令,并进一步可以确定要立刻响应该最新的控制命令。
步骤9、电子设备200的分布式数据管理模块可以向电子设备200的应用组件管理服务模块发送控制命令1。
具体地,在确定控制命令1是最新的控制命令之后,电子设备200的分布式数据管理模块可以回调电子设备200的应用组件管理服务模块,将控制命令1发送给电子设备200的应用组件管理服务模块。
步骤10、电子设备200的应用组件管理服务模块可以向电子设备200的应用组件发送控制命令1。
具体地,在接收到电子设备200的分布式数据管理模块发送的控制命令1之后,电子设备200的应用组件管理服务模块可以回调电子设备200的应用组件,将控制命令1发送给电子设备200的应用组件,以便通知电子设备200的应用组件需要进行刷新显示,执行控制命令1对应的任务。
其中,上述电子设备200的应用组件可以是与应用组件1’建立应用组件业务连接1’的应用组件。
示例性地,上述电子设备200的应用组件可以是前述图5F所示的应用组件561。
步骤11、电子设备200的应用组件可以向电子设备200的公共UIKit通知刷新显示应用组件。
具体地,在接收到电子设备200的应用组件管理服务模块发送的控制命令1之后,电子设备200的应用组件可以立刻响应控制命令1,基于控制命令1(即最新的分布式命令)通过电子设备200的公共UIKit来进行UI显示刷新,刷新完成后,电子设备200可以显示刷新后的应用组件。
下面介绍本申请实施例提供的一种电子设备100的结构示意图。
图11示例性示出了本申请实施例中提供的一种电子设备100的结构。
如图11所示,电子设备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 Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备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)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备100姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
应当理解的是,图11所示电子设备100仅是一个范例,并且电子设备100可以具有比图11中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图11中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
其中,电子设备200的结构可以与电子设备100的结构相同或相似,关于电子设备200的结构的相关内容可以参照图11示例性所示的电子设备100的结构的相关文字描述,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solidstate disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (28)
1.一种应用组件交互方法,应用于第一电子设备,其特征在于,所述方法包括:
所述第一电子设备显示第一用户界面,所述第一用户界面中包括第一应用组件,所述第一应用组件是所述第一电子设备的一个应用组件;
所述第一电子设备与第二电子设备建立第一连接;
所述第一电子设备基于所述第一连接接收所述第二电子设备发送的第一消息,所述第一消息中包括第一数据,所述第一数据是所述第二电子设备运行第二应用组件生成的;
所述第一电子设备基于所述第一数据生成第一内容,并在所述第一应用组件上显示所述第一内容;
其中,所述第一连接为所述第一应用组件与所述第二应用组件之间的连接。
2.根据权利要求1所述的方法,其特征在于,在所述第一电子设备与第二电子设备建立第一连接之后,所述方法还包括:
所述第一电子设备在所述第一应用组件上显示第一标识,所述第一标识用于指示所述第一连接的状态;
其中,所述第一标识在所述第一连接处于连接状态和断开状态下的显示方式不同。
3.根据权利要求2所述的方法,其特征在于,在所述第一电子设备在所述第一应用组件上显示第一标识之后,所述方法还包括:
所述第一电子设备检测到用户针对所述第一标识的第一操作;
响应于所述第一操作,所述第一电子设备显示第一窗口,所述第一窗口中包括第一选项;
所述第一电子设备检测到用户针对所述第一选项的第二操作;
响应于所述第二操作,所述第一电子设备删除所述第一连接。
4.根据权利要求3所述的方法,其特征在于,在所述第一连接处于所述断开状态下,所述第一窗口中还包括第二选项,在所述第一电子设备检测到用户针对所述第一选项的第二操作之前,所述方法还包括:
所述第一电子设备检测到用户针对所述第二选项的第三操作;
响应于所述第三操作,所述第一电子设备与所述第二电子设备重新建立所述第一连接。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述第一标识上显示有所述第二电子设备的设备信息。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述第一电子设备在所述第一应用组件上显示第一内容之后,所述方法还包括:
所述第一电子设备基于所述第一连接接收所述第二电子设备发送的第二消息,所述第二消息中包括第二数据,所述第二数据是所述第二电子设备在生成所述第一数据之后运行所述第二应用组件生成的,所述第二数据与所述第一数据不同;
所述第一电子设备基于所述第二数据生成第二内容,并在所述第一应用组件上显示所述第二内容。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述第一电子设备与第二电子设备建立第一连接之前,所述方法还包括:
所述第一电子设备检测到用户的第四操作;
响应于所述第四操作,所述第一电子设备显示第二窗口,所述第二窗口中包括一个或多个选项,所述一个或多个选项包括所述第二电子设备的设备信息对应的选项;
所述第一电子设备检测到用户针对所述第二电子设备的设备信息对应的选项的第五操作;
响应于所述第五操作,所述第一电子设备向所述第二电子设备第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立所述第一连接。
8.一种应用组件交互方法,应用于第二电子设备,其特征在于,所述方法包括:
所述第二电子设备接收第一电子设备发送的第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立第一连接;
所述第二电子设备与所述第一电子设备建立所述第一连接;
所述第二电子设备基于所述第一连接向所述第一电子设备发送第一消息,所述第一消息中包括第一数据,所述第一数据用于所述第一电子设备在第一应用组件上显示第一内容,所述第一应用组件是所述第一电子设备的一个应用组件,所述第一数据是所述第二电子设备运行第二应用组件生成的;
其中,所述第一连接为所述第一应用组件与所述第二应用组件之间的连接。
9.根据权利要求8所述的方法,其特征在于,所述第一请求中包括所述第一电子设备的设备信息、所述第一应用组件的信息,在所述第二电子设备与第一电子设备建立所述第一连接之前,所述方法还包括:
所述第二电子设备基于所述第一电子设备的设备信息、所述第一应用组件的信息进行验证,在验证成功的情况下,所述第二电子设备与第一电子设备建立所述第一连接。
10.根据权利要求8或9所述的方法,其特征在于,在所述第二电子设备基于所述第一连接向所述第一电子设备发送第一消息之后,所述方法还包括:
所述第二电子设备基于所述第一连接向所述第一电子设备发送第二消息,所述第二消息中包括第二数据,所述第二数据是所述第二电子设备在生成所述第一数据之后运行所述第二应用组件生成的,所述第二数据与所述第一数据不同,所述第二数据用于所述第一电子设备在第一应用组件上显示第二内容。
11.一种应用组件交互方法,应用于第一电子设备,其特征在于,所述方法包括:
所述第一电子设备显示第一用户界面,所述第一用户界面中包括第一应用组件,所述第一应用组件是所述第一电子设备的一个应用组件;
所述第一电子设备与第二电子设备建立第一连接;
所述第一电子设备检测到用户针对所述第一应用组件的第一操作;
响应于所述第一操作,所述第一电子设备基于所述第一连接向所述第二电子设备发送第一消息,所述第一消息中包括第一控制命令,所述第一控制命令用于指示所述第二电子设备响应所述第一控制命令。
12.根据权利要求11所述的方法,其特征在于,所述第一连接为所述第一应用组件与第二应用组件之间的连接,所述第二应用组件为所述第二电子设备的一个应用组件。
13.根据权利要求12所述的方法,其特征在于,所述第一电子设备基于所述第一连接向所述第二电子设备发送第一消息,具体包括:
所述第一电子设备基于所述第一连接向所述第二应用组件发送所述第一消息;
所述第一控制命令用于指示所述第二应用组件响应所述第一控制命令。
14.根据权利要求11-13任一项所述的方法,其特征在于,在所述第一电子设备与第二电子设备建立第一连接之后,所述方法还包括:
所述第一电子设备在所述第一应用组件上显示第一标识,所述第一标识用于指示所述第一连接的状态;
其中,所述第一标识在所述第一连接处于连接状态和断开状态下的显示方式不同。
15.根据权利要求14所述的方法,其特征在于,在所述第一电子设备在所述第一应用组件上显示第一标识之后,所述方法还包括:
所述第一电子设备检测到用户针对所述第一标识的第二操作;
响应于所述第二操作,所述第一电子设备显示第一窗口,所述第一窗口中包括第一选项;
所述第一电子设备检测到用户针对所述第一选项的第三操作;
响应于所述第三操作,所述第一电子设备删除所述第一连接。
16.根据权利要求15所述的方法,其特征在于,在所述第一连接处于所述断开状态下,所述第一窗口中还包括第二选项,在所述第一电子设备检测到用户针对所述第一选项的第三操作之前,所述方法还包括:
所述第一电子设备检测到用户针对所述第二选项的第四操作;
响应于所述第四操作,所述第一电子设备与所述第二电子设备重新建立所述第一连接。
17.根据权利要求14-16任一项所述的方法,其特征在于,所述第一标识上显示有所述第二电子设备的设备信息。
18.根据权利要求11-17任一项所述的方法,其特征在于,在所述第一电子设备与第二电子设备建立第一连接之前,所述方法还包括:
所述第一电子设备检测到用户的第五操作;
响应于所述第五操作,所述第一电子设备显示第二窗口,所述第二窗口中包括一个或多个选项,所述一个或多个选项包括所述第二电子设备的设备信息对应的选项;
所述第一电子设备检测到用户针对所述第二电子设备的设备信息对应的选项的第六操作;
响应于所述第六操作,所述第一电子设备向所述第二电子设备第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立所述第一连接。
19.根据权利要求11-18任一项所述的方法,其特征在于,所述第一应用组件上显示有一个或多个拍摄选项,所述一个或多个拍摄选项包括拍照选项,所述第一操作为用户针对所述拍照选项的点击操作,所述第一控制命令用于指示所述第二电子设备启动相机应用程序进入拍照模式,在所述第一电子设备检测到用户针对所述第一应用组件的第一操作之后,所述方法还包括:
响应于所述第一操作,所述第一电子设备在所述第一应用组件上显示第三窗口,所述第三窗口中包括快门选项;
所述第一电子设备检测到用户针对所述快门选项的第七操作;
响应于所述第七操作,所述第一电子设备基于所述第一连接向所述第二电子设备发送第二消息,所述第二消息中包括第二控制命令,所述第二控制命令用于指示所述第二电子设备执行拍照操作;
所述第一电子设备基于所述第一连接接收并显示所述第二电子设备发送的第一图像,所述第一图像是所述第二电子设备执行所述拍照操作之后生成的。
20.一种应用组件交互方法,应用于第二电子设备,其特征在于,所述方法包括:
所述第二电子设备接收第一电子设备发送的第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立第一连接;
所述第二电子设备与所述第一电子设备建立所述第一连接;
所述第二电子设备基于所述第一连接接收所述第一电子设备发送的第一控制命令,所述第一控制命令是所述第一电子设备在检测到用户针对第一应用组件的第一操作之后生成的,所述第一应用组件是所述第一电子设备的一个应用组件;
所述第二电子设备响应所述第一控制命令。
21.根据权利要求20所述的方法,其特征在于,所述第一连接为所述第一应用组件与第二应用组件之间的连接,所述第二应用组件为所述第二电子设备的一个应用组件。
22.根据权利要求21所述的方法,其特征在于,所述第二电子设备基于所述第一连接接收所述第一电子设备发送的第一控制命令,具体包括:
所述第二应用组件基于所述第一连接接收所述第一电子设备发送的第一控制命令;
所述第二电子设备响应所述第一控制命令,具体包括:
所述第二应用组件响应所述第一控制命令。
23.根据权利要求20-22任一项所述的方法,其特征在于,所述第一请求中包括所述第一电子设备的设备信息、所述第一应用组件的信息,在所述第二电子设备与第一电子设备建立所述第一连接之前,所述方法还包括:
所述第二电子设备基于所述第一电子设备的设备信息、所述第一应用组件的信息进行验证,在验证成功的情况下,所述第二电子设备与第一电子设备建立所述第一连接。
24.根据权利要求21-23任一项所述的方法,其特征在于,所述第一应用组件上显示有一个或多个拍摄选项,所述一个或多个拍摄选项包括拍照选项,所述第一操作为用户针对所述拍照选项的点击操作,所述第一控制命令用于指示所述第二电子设备启动相机应用程序进入拍照模式,所述第二电子设备响应所述第一控制命令,具体包括:
所述第二电子设备通过所述第二应用组件启动所述相机应用程序,并显示第一用户界面,所述第一用户界面为所述相机应用程序的一个用户界面,所述第一用户界面中包括第一预览框,所述第一预览框中包括第一图像;
或,
所述第二电子设备在第二应用组件上显示第一窗口,所述第一窗口中包括第二预览框,所述第二预览框中包括第一图像;
在所述第二电子设备响应所述第一控制命令之后,所述方法还包括:
所述第二电子设备基于所述第一连接接收所述第一电子设备发送的第二控制命令,所述第二控制命令用于指示所述第二电子设备执行拍照操作;
响应于所述第二控制命令,所述第二电子设备执行所述拍照操作,并向所述第一电子设备发送所述第一图像。
25.一种通信系统,其特征在于,所述通信系统包括:第一电子设备和第二电子设备;
所述第一电子设备用于显示第一用户界面,所述第一用户界面中包括第一应用组件,所述第一应用组件是所述第一电子设备的一个应用组件;
所述第一电子设备还用于向所述第二电子设备第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立第一连接;
所述第二电子设备用于接收所述第一请求,并与所述第一电子设备建立所述第一连接;
所述第二电子设备还用于基于所述第一连接向所述第一电子设备发送第一消息,所述第一消息中包括第一数据,所述第一数据是所述第二电子设备运行第二应用组件生成的;
所述第一电子设备还用于基于所述第一数据生成第一内容,并在所述第一应用组件上显示所述第一内容;
其中,所述第一连接为所述第一应用组件与所述第二应用组件之间的连接。
26.一种通信系统,其特征在于,所述通信系统包括:第一电子设备和第二电子设备;
所述第一电子设备用于显示第一用户界面,所述第一用户界面中包括第一应用组件,所述第一应用组件是所述第一电子设备的一个应用组件;
所述第一电子设备还用于向所述第二电子设备第一请求,所述第一请求用于请求所述第二电子设备与所述第一电子设备建立第一连接;
所述第二电子设备用于接收所述第一请求,并与所述第一电子设备建立所述第一连接;
所述第一电子设备还用于检测用户针对所述第一应用组件的第一操作;
所述第一电子设备还用于基于所述第一连接向所述第二电子设备发送第一消息,所述第一消息中包括第一控制命令;
所述第二电子设备还用于响应所述第一控制命令。
27.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器;其中,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-7或8-10或11-19或20-24中任一项所述的方法。
28.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,当所述程序指令在电子设备上运行时,使得所述电子设备执行如权利要求1-7或8-10或11-19或20-24中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/098551 WO2023236939A1 (zh) | 2022-06-09 | 2023-06-06 | 应用组件交互方法及相关设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210653945 | 2022-06-09 | ||
CN2022106539458 | 2022-06-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117255400A true CN117255400A (zh) | 2023-12-19 |
Family
ID=89127022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211068654.9A Pending CN117255400A (zh) | 2022-06-09 | 2022-08-31 | 应用组件交互方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117255400A (zh) |
-
2022
- 2022-08-31 CN CN202211068654.9A patent/CN117255400A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020192714A1 (zh) | 显示设备控制页面的方法、相关装置及系统 | |
WO2021017889A1 (zh) | 一种应用于电子设备的视频通话的显示方法及相关装置 | |
EP4084486A1 (en) | Cross-device content projection method, and electronic device | |
CN113923230B (zh) | 数据同步方法、电子设备和计算机可读存储介质 | |
CN111628916B (zh) | 一种智能音箱与电子设备协作的方法及电子设备 | |
CN116360725B (zh) | 显示交互系统、显示方法及设备 | |
WO2020224447A1 (zh) | 一种在联系人中添加智能家居设备的方法及系统 | |
CN110737493A (zh) | 一种主题切换方法及主题切换装置 | |
WO2021052204A1 (zh) | 基于通讯录的设备发现方法、音视频通信方法及电子设备 | |
WO2021036898A1 (zh) | 折叠屏设备中应用打开方法及相关装置 | |
WO2021031865A1 (zh) | 通话方法及装置 | |
US20230208790A1 (en) | Content sharing method, apparatus, and system | |
CN114115770A (zh) | 显示控制的方法及相关装置 | |
EP4293997A1 (en) | Display method, electronic device, and system | |
WO2021218544A1 (zh) | 一种提供无线上网的系统、方法及电子设备 | |
WO2023236939A1 (zh) | 应用组件交互方法及相关设备 | |
CN117255400A (zh) | 应用组件交互方法及相关设备 | |
CN110737916A (zh) | 通信终端及处理方法 | |
WO2024002137A1 (zh) | 通信方法、通信系统及电子设备 | |
CN113271577B (zh) | 媒体数据播放系统、方法及相关装置 | |
WO2023142935A1 (zh) | 应用组件管理方法及相关设备 | |
WO2023179682A1 (zh) | 一种设备协同方法 | |
WO2023045876A1 (zh) | 应用程序安装方法及相关设备 | |
WO2023142940A1 (zh) | 应用组件分享方法及相关设备 | |
WO2023025059A1 (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 |