CN115033396A - 一种通信方法及相关设备 - Google Patents

一种通信方法及相关设备 Download PDF

Info

Publication number
CN115033396A
CN115033396A CN202210588160.7A CN202210588160A CN115033396A CN 115033396 A CN115033396 A CN 115033396A CN 202210588160 A CN202210588160 A CN 202210588160A CN 115033396 A CN115033396 A CN 115033396A
Authority
CN
China
Prior art keywords
application
message
ams
party application
communication interface
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.)
Granted
Application number
CN202210588160.7A
Other languages
English (en)
Other versions
CN115033396B (zh
Inventor
孙少忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310444222.1A priority Critical patent/CN117112251A/zh
Priority to CN202210588160.7A priority patent/CN115033396B/zh
Publication of CN115033396A publication Critical patent/CN115033396A/zh
Application granted granted Critical
Publication of CN115033396B publication Critical patent/CN115033396B/zh
Priority to PCT/CN2023/092908 priority patent/WO2023226744A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本申请提供了一种通信方法及相关设备。根据该通信方法,可穿戴设备中的JS应用框架可以注册通信接口,AMS可以绑定该通信接口。可穿戴设备中的本地应用可以通过该通信接口与第三方应用进行通信。通过这种方式,可穿戴设备中的本地应用和第三方应用可以实现数据共享,可以扩展更多的应用场景,提升了用户体验。

Description

一种通信方法及相关设备
技术领域
本申请涉及终端技术领域,尤其涉及一种通信方法及相关设备。
背景技术
目前,部分可穿戴设备中的第三方应用采用JavaScript(简称JS)语言进行开发,而本地应用基于操作系统(Operating System,OS)进行开发。可穿戴设备中的第三方应用与本地应用无法进行通信,因此二者的数据无法分享,也就无法融合使用。
因此,如何实现可穿戴设备中的第三方应用与本地应用之间的通信是目前亟待解决的问题。
发明内容
本申请提供了一种通信方法及相关设备。根据该通信方法,可穿戴设备中的JS应用框架可以注册通信接口,AMS可以绑定该通信接口。可穿戴设备中的本地应用可以通过该通信接口与第三方应用进行通信。通过这种方式,可穿戴设备中的本地应用和第三方应用可以实现数据共享,可以扩展更多的应用场景,提升了用户体验。
第一方面,本申请提供了一种通信方法。该方法可以应用于电子设备。该方法可以包括:电子设备中的本地应用向电子设备中的能力管理服务AMS发送第一消息;AMS通过第一通信接口向电子设备中的第三方应用发送第一消息;或者,AMS接收第三方应用通过第一通信接口发送的第二消息;AMS向本地应用发送第二消息。其中,第一通信接口为AMS与电子设备中的JS应用框架之间的通信接口。第一消息包括本地应用的包名、第三方应用的包名,以及第一目标传输数据。第二消息包括第三方应用的包名、本地应用的包名,以及第二目标传输数据。
在本申请提供的方案中,电子设备中的本地应用可以向AMS发送第一消息,AMS再通过第一通信接口将第一消息发送给第三方应用。也就是说,电子设备中的本地应用可以通过第一通信接口向电子设备中的第三方应用发送数据。电子设备中的AMS还可以接收第三方应用通过第一通信接口发送的第二消息,并将该第二消息发送给本地应用。也就是说,电子设备中的第三方应用可以通过第一通信接口向电子设备中的本地应用发送数据。通过这种方式,电子设备可以通过第一通信接口实现本地应用和第三方应用之间的交互,从而实现数据共享,更多的应用场景得以实现,提升了用户体验。
在本申请的一些实施例中,第一通信接口可以为后述实施例中的接口M。
需要说明的是,电子设备中的任一本地应用和任一第三方应用均可以基于第一通信接口来进行通信。在本申请的一些实施例中,本地应用中可以包括调用第一通信接口的相关指令。类似的,第三方应用中可以包括调用第一通信接口的相关指令。
在本申请的一些实施例中,第一消息可以为后述实施例中的消息X11。
在本申请的一些实施例中,第二消息可以为后述实施例中的消息X12。
可理解,关于第一目标传输数据和第二目标传输数据的具体含义可以参见后述实施例中对目标传输数据的相关描述,在此不展开说明。
需要说明的是,权利要求中所提及的本地应用可以为电子设备中的任一本地应用。在本申请的一些实施例中,权利要求中所提及的本地应用可以为后述实施例中的本地应用N。
类似的,还需要说明的是,权利要求中所提及的第三方应用可以为电子设备中的任一第三方应用。在本申请的一些实施例中,权利要求中所提及的第三方应用可以为后述实施例中的第三方应用T。
还需要说明的是,权利要求中所提及的电子设备可以为后述实施例中所提及的可穿戴设备。
结合第一方面,在一种可能的实现方式中,电子设备中的本地应用向电子设备中的能力管理服务AMS发送第一消息之前,或者,AMS接收第三方应用通过第一通信接口发送的第二消息之前,该方法还可以包括:电子设备启动第三方应用;JS应用框架注册第一通信接口;AMS绑定第一通信接口。
在本申请提供的方案中,在基于第一通信接口实现本地应用和第三方应用之间的通信之间,电子设备可以注册第一通信接口。具体的,电子设备启动第三方应用之后,电子设备中的JS应用框架可以注册第一通信接口,相应的,AMS可以绑定第一通信接口。
在本申请的一些实施例中,用户操作触发电子设备启动第三方应用,电子设备可以启动注册流程来注册第一通信接口。通过这种方式,电子设备可以在本地应用和第三方应用进行通信之前就注册第一通信接口,无需等到本地应用向第三方应用发送消息时才注册,或者第三方应用向本地应用发送消息时才注册,节省了本地应用和第三方应用之间的通信时间。
示例性的,用户点击第三方应用的应用图标,响应于该点击操作,电子设备启动第三方应用,并启动注册流程。注册流程可以包括:JS应用框架注册第一通信接口,并通知AMS绑定第一通信接口。
示例性的,用户在浏览另一应用中触发启动了第三方应用,电子设备也可以启动注册流程。
需要说明的是,在本申请的一些实施例中,电子设备开机后,第三方应用第一次启动之后,就可以触发启动注册流程来注册第一通信接口。
在本申请的又一些实施例中,本地应用通过AMS向第三方应用发送消息,在这个过程中,第三方应用会启动,在第三方应用启动之后,电子设备可以启动注册流程。进一步的,JS应用框架注册第一通信接口,并通知AMS绑定第一通信接口。
结合第一方面,在一种可能的实现方式中,电子设备启动第三方应用之前,该方法还可以包括:本地应用向AMS发送第三消息;AMS确定电子设备中是否存在正在运行的应用,并在电子设备中存在正在运行的应用的情况下,比较正在运行的应用与第三方应用的优先级。电子设备启动第三方应用,具体可以包括:在电子设备中不存在正在运行的应用,或者,正在运行的应用的优先级不高于第三方应用的优先级的情况下,电子设备启动第三方应用。AMS绑定第一通信接口之后,该方法还可以包括:AMS通过第一通信接口向第三方应用发送第三目标传输数据。其中,第三消息包括本地应用的包名、第三方应用的包名,以及第三目标传输数据。
在本申请提供的方案中,本地应用通过AMS向第三方应用发送消息,在这个过程中,第三方应用会启动,在第三方应用启动之后,电子设备可以启动注册流程。值得注意的是,电子设备只有在不存在正在运行的应用,或者,正在运行的应用的优先级不高于第三方应用的优先级的情况下才会启动第三方应用。这也就意味着,电子设备只有在不影响更高优先级的应用运行状况的情况下才启动第三方应用,进而启动注册流程,充分考虑了用户需求和体验。
在本申请的一些实施例中,第三消息可以为后述实施例中的消息X1。
可理解,关于第三目标传输数据的具体含义可以参见后述实施例中对目标传输数据的相关描述,在此不展开说明。
结合第一方面,在一种可能的实现方式中,JS应用框架注册第一通信接口之前,该方法还可以包括:JS应用框架向第三方应用发送第四消息。JS应用框架注册第一通信接口之后,该方法还可以包括:JS应用框架向AMS发送第五消息。其中,第四消息用于通知第三方应用启动注册流程。第五消息用于通知AMS第一通信接口已注册。
在本申请的一些实施例中,第四消息可以为后述实施例中的消息X8。
在本申请的一些实施例中,第五消息可以为后述实施例中的消息X9。
结合第一方面,在一种可能的实现方式中,电子设备启动第三方应用,具体可以包括:AMS向JS应用框架发送第六消息;JS应用框架加载第三方应用的相关组件,并向AMS发送第七消息。其中,第六消息用于通知JS应用框架启动第三方应用;第七消息用于通知AMS第三方应用已启动。
在本申请的一些实施例中,第六消息可以为后述实施例中的消息X6。
在本申请的一些实施例中,第七消息可以为后述实施例中的消息X7。
可理解,JS应用框架加载第三方应用的相关组件的具体方式可以参见后述实施例,在此不展开说明。
结合第一方面,在一种可能的实现方式中,电子设备启动第三方应用之前,该方法还可以包括:AMS与电子设备中的UI组件建立通信连接;AMS请求UI组件将原显示界面置于后台。
在本申请提供的方案中,电子设备启动第三方应用之前,可以先请求UI组件提高界面资源,以便显示第三方应用的相关界面。
可理解,AMS与电子设备中的UI组件建立通信连接的具体方式可以参见后述实施例,在此不展开说明。
结合第一方面,在一种可能的实现方式中,AMS通过第一通信接口向电子设备中的第三方应用发送第一消息之后,该方法还可以包括:AMS接收第三方应用通过第一通信接口发送的第八消息;AMS向第三方应用发送第八消息。其中,第八消息包括第三方应用的包名、本地应用的包名,以及第四目标传输数据。
在本申请提供的方案中,电子设备中的本地应用可以作为消息的发送方来与第三方应用进行通信,也可以作为消息的接收方来与第三方应用进行通信。也就是说,注册通信接口之后,电子设备不限制本地应用和第三方应用之间通信时的消息发送方和消息接收方,可以最大化实现数据共享,从而扩展更多的应用场景,提升了用户体验。
在本申请的一些实施例中,第八消息可以为后述实施例中的消息X12。
可理解,关于第四目标传输数据的具体含义可以参见后述实施例中对目标传输数据的相关描述,在此不展开说明。
结合第一方面,在一种可能的实现方式中,AMS接收第三方应用通过第一通信接口发送的第二消息之后,该方法还可以包括:本地应用向AMS发送第九消息;AMS通过第一通信接口向第三方应用发送第九消息。其中,第九消息包括本地应用的包名、第三方应用的包名,以及第五目标传输数据。
在本申请的一些实施例中,第九消息可以为后述实施例中的消息X11。
可理解,关于第五目标传输数据的具体含义可以参见后述实施例中对目标传输数据的相关描述,在此不展开说明。
第二方面,本申请提供了一种电子设备。该电子设备可以包括显示屏、存储器,以及一个或多个处理器。其中,存储器可以与一个或多个处理器耦合。存储器用于存储计算机程序。处理器用于调用计算机程序,使得第一方面任一项方法。具体的,处理器可以用于:本地应用向电子设备中的能力管理服务AMS发送第一消息;AMS通过第一通信接口向第三方应用发送第一消息;或者,AMS接收第三方应用通过第一通信接口发送的第二消息;AMS向本地应用发送第二消息。其中,第一通信接口为AMS与电子设备中的JS应用框架之间的通信接口。第一消息包括本地应用的包名、第三方应用的包名,以及第一目标传输数据。第二消息包括第三方应用的包名、本地应用的包名,以及第二目标传输数据。
结合第二方面,在一种可能的实现方式中,处理器在用于:本地应用向电子设备中的能力管理服务AMS发送第一消息之前,或者,AMS接收第三方应用通过第一通信接口发送的第二消息之前,还可以用于:启动第三方应用;JS应用框架注册第一通信接口;AMS绑定第一通信接口。
结合第二方面,在一种可能的实现方式中,处理器在用于启动第三方应用之前,还可以用于:本地应用向AMS发送第三消息;AMS确定电子设备中是否存在正在运行的应用,并在电子设备中存在正在运行的应用的情况下,比较正在运行的应用与第三方应用的优先级。处理器用于启动第三方应用,具体可以用于:在电子设备中不存在正在运行的应用,或者,正在运行的应用的优先级不高于第三方应用的优先级的情况下,启动第三方应用。AMS绑定第一通信接口之后,处理器还可以用于:AMS通过第一通信接口向第三方应用发送第三目标传输数据。其中,第三消息包括本地应用的包名、第三方应用的包名,以及第三目标传输数据。
结合第二方面,在一种可能的实现方式中,处理器在用于:JS应用框架注册第一通信接口之前,处理器还可以用于:JS应用框架向第三方应用发送第四消息。处理器在用于:JS应用框架注册第一通信接口之后,处理器还可以用于:JS应用框架向AMS发送第五消息。其中,第四消息用于通知第三方应用启动注册流程。第五消息用于通知AMS第一通信接口已注册。
结合第二方面,在一种可能的实现方式中,处理器在用于启动第三方应用时,具体可以用于:AMS向JS应用框架发送第六消息;JS应用框架加载第三方应用的相关组件,并向AMS发送第七消息。其中,第六消息用于通知JS应用框架启动第三方应用;第七消息用于通知AMS第三方应用已启动。
结合第二方面,在一种可能的实现方式中,处理器在用于启动第三方应用之前,还可以用于:AMS与电子设备中的UI组件建立通信连接;AMS请求UI组件将原显示界面置于后台。
结合第二方面,在一种可能的实现方式中,处理器在用于:AMS通过第一通信接口向电子设备中的第三方应用发送第一消息之后,还可以用于:AMS接收第三方应用通过第一通信接口发送的第八消息;AMS向第三方应用发送第八消息。其中,第八消息包括第三方应用的包名、本地应用的包名,以及第四目标传输数据。
结合第二方面,在一种可能的实现方式中,处理器在用于:AMS接收第三方应用通过第一通信接口发送的第二消息之后,还可以用于:本地应用向AMS发送第九消息;AMS通过第一通信接口向第三方应用发送第九消息。其中,第九消息包括本地应用的包名、第三方应用的包名,以及第五目标传输数据。
第三方面,本申请提供一种计算机存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行上述第一方面中任一种可能的实现方式。
第四方面,本申请实施例提供一种芯片,该芯片可以应用于电子设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行上述第一方面中任一种可能的实现方式。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在电子设备上运行时,使得该电子设备执行上述第一方面任一种可能的实现方式。
可理解,上述第二方面提供的电子设备、第三方面提供的计算机存储介质、第四方面提供的芯片,以及第五方面提供的计算机程序产品均用于执行上述第一方面中任一种可能的实现方式。因此,其所能达到的有益效果可参考上述第一方面中任一种可能的实现方式的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种通信场景示意图;
图2为本申请实施例提供的一种可穿戴设备100的结构示意图;
图3为本申请实施例提供的一种可穿戴设备100的硬件结构示意图;
图4为本申请实施例提供的一种可穿戴设备100的软件结构示意图;
图5为本申请实施例提供的一种可穿戴设备应用间通信过程的示意图;
图6为本申请实施例提供的一种通信方法的流程图;
图7为本申请实施例提供的又一种通信方法的流程图;
图8为本申请实施例提供的又一种通信场景示意图;
图9a-图9c为本申请实施例提供的一组用户界面示意图;
图10为本申请实施例提供的又一种通信方法的流程图;
图11为本申请实施例提供的又一种通信场景示意图;
图12为本申请实施例提供的又一种通信场景示意图;
图13为本申请实施例提供的一种用户界面示意图;
图14为本申请实施例提供的又一种通信方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
目前,可穿戴设备中的第三方应用采用JS语言进行开发,底层通过Jerryscript调用C++接口。可理解,JS语言是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。C++是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。可理解,Jerryscript是一个轻量级的JS引擎。
如图1所示,可穿戴设备100可以与终端设备200建立通信连接,从而实现和终端设备200之间的信息交互。可理解,该通信连接可以为蓝牙连接。在本申请的一些实施例中,可穿戴设备中的第三方应用可以通过穿戴设备服务wearkitservice实现和手机等终端设备之间的信息交互。可理解,wearkit service是手机和手表之间的一种通信协议,其具体说明可参考相关技术文档。
然而,可穿戴设备100中的本地应用基于OS的底层框架进行开发。这也就意味着,可穿戴设备100中的第三方应用与本地应用之间无法进行通信,二者无法实现数据共享。
可理解,操作系统(即OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互操作的界面。
可理解,可穿戴设备100可以为智能手表、智能手环等设备,本申请对可穿戴设备100的具体类型不作限制。
本申请提供了一种通信方法及相关设备。根据该通信方法,可穿戴设备100中的JS应用框架可以注册通信接口,AMS可以绑定该通信接口。可穿戴设备100中的本地应用可以通过该通信接口与第三方应用进行通信。通过这种方式,可穿戴设备100中的本地应用和第三方应用可以实现数据共享,可以扩展更多的应用场景,提升了用户体验。
下面首先介绍本申请涉及的装置。
请参阅图2,图2为本申请实施例提供的一种可穿戴设备100的结构示意图。
如图2所示,可穿戴设备100可以包括主体部件110和穿戴部件120。
其中,主体部件110可以设置有传感器、显示屏等。可穿戴设备100可以通过传感器判断用户的运动状态,并采集用户的运动数据(例如,跑步轨迹、跳绳数量、运动时间等)和健康数据(例如,心率、血氧、压力等)。可穿戴设备100还可以将采集到的健康数据、运动数据通过显示屏进行显示。当然,可穿戴设备100的显示屏还可以显示时间、电量、蓝牙连接状态等。主体部件110还可以包括按键111和按键112。主体部件110还可以包括磁吸触点。可穿戴设备100可以通过该磁吸触点进行充电。
穿戴部件120可以用于安装主体部件110。如图2所示,穿戴部件120可以是手环带或表带等部件,可以使得主体部件110附着在用户的身体(例如,手腕)上。
下面结合图3具体介绍本申请实施例提供的一种可穿戴设备100的硬件结构。
可穿戴设备100可以包括处理器101、无线通信模块102、传感器模块103、充电管理模块104、电源管理模块1041、电池1042、磁吸触点105、音频模块106、扬声器106A、受话器106B、麦克风106C、显示屏107、按键108和存储器109。
可以理解的是,本发明实施例示意的结构并不构成对可穿戴设备100的具体限定。在本申请另一些实施例中,可穿戴设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器101可以包括一个或多个处理单元,例如:处理器101可以包括应用处理器(Application Processor,AP),调制解调处理器,图形处理器(Graphics Processingunit,GPU),图像信号处理器(Image Signal Processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(Digital Signal Processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是可穿戴设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
在本申请提供的实施例中,可穿戴设备100可以通过处理器101执行所述通信方法。
处理器101中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器101中的存储器为高速缓冲存储器。该存储器可以保存处理器101刚用过或循环使用的指令或数据。如果处理器101需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器101的等待时间,因而提高了系统的效率。
在本申请的一些实施例中,处理器101可以包括一个或多个接口。该接口可以用于连接可穿戴设备100和外围设备。该接口还可以用于连接其他电子设备。例如,AR设备等。
无线通信模块102可以提供应用在可穿戴设备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)等无线通信的解决方案。无线通信模块102可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块102可以经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器101。无线通信模块102还可以从处理器101接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
在本申请的一些实施例中,无线通信模块102可以至少包括蓝牙模块。可穿戴设备100可以通过无线通信模块102中的蓝牙模块与终端设备200建立通信连接(如图1所示)。
传感器模块103可以包括一个或多个传感器,这些传感器可以为相同类型或不同类型。如图3所示,传感器模块103可以包括压力传感器103A、陀螺仪传感器103B、加速度传感器103C、触摸传感器103D、骨传导传感器103E和光传感器103F等。
压力传感器103A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器103A可以设置于显示屏107。当有触摸操作作用于显示屏107,可穿戴设备100根据压力传感器103A检测所述触摸操作强度。可穿戴设备100也可以根据压力传感器103A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。
陀螺仪传感器103B可以用于确定可穿戴设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器103B确定可穿戴设备100围绕三个轴(即,x,y和z轴)的角速度。
加速度传感器103C可检测可穿戴设备100在各个方向上(一般为三轴)加速度的大小。当可穿戴设备100静止时可检测出重力的大小及方向。加速度传感器103C还可以用于识别可穿戴设备100的姿态,应用于横竖屏切换,计步器等应用。
触摸传感器103D,也称“触控面板”。触摸传感器103D可以设置于显示屏107,由触摸传感器103D与显示屏107组成触摸屏,也称“触控屏”。触摸传感器103D用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏107提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器103D也可以设置于可穿戴设备100的表面,与显示屏107所处的位置不同。
骨传导传感器103E可以获取振动信号。在本申请的一些实施例中,骨传导传感器103E也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,应用处理器可以基于骨传导传感器103E获取的血压跳动信号解析心率信息,实现心率检测功能。
光传感器103F可以包括发光二极管和光电接收器。可穿戴设备100可以通过光传感器103F中的发光二极管将一束光照射进入人体的皮肤组织,然后通过光电接收器来将接收到的光信号转换为电信号。由于人体的血液流量随着脉搏发生周期性的变化,并且血液中的含氧血红细胞的比例也随着脉搏的变化而变化,因此它们对入射光的吸收程度也随着脉搏而呈现周期性的变化,体现在接收端就是接收到的电信号也随着脉搏而变化。光传感器103F可以通过上述方式得到心率。可穿戴设备100还可以通过发光二极管将红外光和红光同时照射手指,然后通过光传感器103F测量反射光的吸收光谱。由于血液里的氧合血红蛋白对红光吸收量较多,对红外光吸收较少,而血红蛋白对红外光吸收较多,对红光吸收较少,可穿戴设备100可以通过上述方式测量血氧含量。
可理解,图3所示的传感器模块103仅为一种示例性的划分方式,还可能有其他划分方式,本申请对此不作限制。
充电管理模块104用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块104可以通过磁吸触点105接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块104可以通过可穿戴设备100的无线充电线圈接收无线充电输入。充电管理模块104为电池1042充电的同时,还可以通过电源管理模块1041为可穿戴设备100供电。其中,磁吸触点105也可以理解为磁传感器。
音频模块106用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器106A,用于将音频电信号转换为声音信号。受话器106B,用于将音频电信号转换成声音信号。麦克风106C,用于将声音信号转换为电信号。
显示屏107用于显示画面等。显示屏107可以包括显示面板。显示面板可以采用液晶显示屏(Liquid Crystal Display,LCD),有机发光二极管(Organic Light-EmittingDiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(Active-MatrixOrganic Light Emitting Diode,AMOLED),柔性发光二极管(Flex Light-EmittingDiode,FLED),Mini LED,Micro LED,Micro-OLED,量子点发光二极管(Quantum Dot LightEmitting Diodes,QLED)等。
按键108可以是机械按键,也可以是触摸式按键。可穿戴设备100可以接收按键输入,产生与可穿戴设备100的用户设置以及功能控制有关的键信号输入。在本申请的一些实施例中,可穿戴设备100可以包括如图2所示的按键111和按键112。
存储器109可以用于存储计算机可执行程序代码。该可执行程序代码包括指令。处理器101通过运行存储在存储器109的指令,从而执行可穿戴设备100的各种功能应用以及数据处理。存储器109可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像视频播放功能等)等。存储数据区可存储可穿戴设备100使用过程中所创建的数据(比如音频数据,电话本等)等。
在本申请的一些实施例中,可穿戴设备100可以将采集的用户的健康数据、运动数据等存储在存储器109中。
可理解,在本申请的一些实施例中,可穿戴设备100可以包括马达。马达可以产生振动提示。例如,马达可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏107不同区域的触摸操作,马达也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。可穿戴设备100还可以包括指示器。指示器可以是指示灯,可以用于指示充电状态、电量变化,也可以用于指示消息、未接来电、通知等。
下面结合图4具体介绍本申请实施例提供的一种可穿戴设备100的软件结构。
可穿戴设备100可以包括本地应用、第三方应用(即JS应用)、JS应用框架、OS框架层和OS内核层。
本地应用可以理解为在可穿戴设备100出厂前,安装操作系统时安装在可穿戴设备100中的应用。本地应用可以包括健康应用。用户可以通过该健康应用记录健康数据和运动数据。当然,本地应用还可以包括图库、蓝牙、音乐等应用。根据上文,可穿戴设备100中的本地应用采集C++语言开发。
第三方应用可以理解为通过应用商店下载的应用。例如,第三方应用可以包括从应用商店下载的导航应用、搜索引擎等。可理解,可穿戴设备100中的第三方应用是采用JS语言开发的,属于JS应用。
JS应用框架用于支持第三方应用的开发。JS应用框架可以包括JS数据绑定(databinding)、JS运行时(runtime)和JS框架(framework)。
其中,JS databinding可以包括绑定关系。视图模型实例(viewmodelinstance)、发布者(subject)和观察者(observer)。在可穿戴设备100中,编译器把html和CSS编译成JS代码和JSON对象,利用引擎使得JS接口调用到C++实现,调用的过程需要JS data binding的参与。
JS runtime包括核心库和虚拟机。runtime负责系统的调度和管理。核心库包含两部分:一部分是编程语言(例如,JS语言)需要调用的功能函数,另一部分是系统的核心库。JS应用和JS框架运行在虚拟机中。虚拟机将JS应用和JS框架的编程文件(例如,JS文件)执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
JS framework可以包括UI组件适配器层(UI componentadapterlayer)和应用编程接口适配器层(application programming interface adapterlayer)。可理解,应用编程接口可以简称为API。UI componentadapterlayer可以包括基础组件、动画组件、页面切换组件、风格管理器和文本编辑器等。API adapterlayer可以包括基础组件、渲染模型和风格管理器等。可理解,上述组件的含义可以参考相关技术文档。JS framework可以包括一些预先定义的函数。
当然,JS framework还可以包括其他组件,本申请对此不作限制。
OS框架层(framework)可以包括UI组件(kit)、OS API、能力管理服务(AbilityManagement Service,AMS)、包管理服务(Bundle Management Service,BMS)。其中,UI组件用于启动本地应用。另外,UI组件还负责绘制和上屏,并通过管理不同场景的上下文来绘制不同的应用。例如,手表显示的按钮、跑马灯显示框、字体颜色和线条等都需要UI组件的支持。OS API为OS framework为本地应用提供的应用编程接口。AMS用于管理第三方应用的生命周期。例如,第三方应用的启动、切换、关闭等。
OS内核层(kernel)是操作系统的基础。操作系统最终的功能都是通过内核层完成。内核层可以包含音频驱动、蓝牙驱动、传感器驱动、显示驱动、触屏驱动和按键驱动等。可理解,OS kernel可以包括任务管理、内存管理、中断管理、异常管理、系统时钟、信号量、互斥锁、队列管理、事件管理和软件定时器等。进一步的,OS kernel还可以包括C++支持、调测组件等。
需要说明的是,本申请实施例提供的图4所示的可穿戴设备100的软件结构示意图仅为一种示例,不应视为对本申请的限制。可理解,可穿戴设备100的软件结构还可以包括更多的分层(例如,硬件抽象层),并且本申请并不限定操作系统不同分层中的具体模块划分,具体可以参考常规技术中对操作系统软件结构的介绍。
请参阅图5,图5为本申请实施例提供的一种可穿戴设备应用间通信过程的示意图。
如图5所示,可穿戴设备的本地应用N可以向AMS发送消息。该消息可以包括该本地应用N的包名、第三方应用T的包名,以及本地应用N需要发送给第三方应用T的数据。AMS接收本地应用N发送的消息之后,可以判断第三方应用T的优先级。在不存在正在运行的应用,或者正在运行的应用比第三方应用T的优先级低的情况下,AMS可以与UI组件建立通信连接,并向UI组件请求将原显示界面置于后台,以启动第三方应用T。然后,AMS可以向JS应用框架请求启动第三方应用T。JS框架可以加载第三方应用T的相关组件。进一步的,JS应用框架可以向AMS发送消息以通知AMS——第三方应用T已启动。该消息发送成功后,JS应用框架可以注册接口M。接口M为JS应用框架与AMS之间的通信接口。接口M注册成功后,AMS可以向第三方应用T发送数据。
需要说明的是,在本申请的一些实施例中,本地应用与JS应用之间的消息的传输,需要经过内核层。
基于图5所示的可穿戴设备应用间通信过程,结合图6具体本申请实施例提供的一种通信方法。
S601:本地应用N向AMS发送消息X1。消息X1包括本地应用N的包名和第三方应用T的包名,以及目标传输数据。
可穿戴设备100中的本地应用N可以向可穿戴设备100中的AMS发送消息X1。可理解,消息X1中可以包括本地应用N的包名、第三方应用T的包名,以及目标传输数据。其中,目标传输数据指的是本地应用N需要传输给第三方应用T的数据。可理解,包名用于唯一标识应用。
在本申请的一些实施例中,目标传输数据可以是用户的运动数据,还可以是用户的健康数据。当然,目标传输数据还可以为其他类型的数据,本申请对此不作限制。
在本申请的一些实施例中,消息X1可以包括Bundlename/APP_index、message、messageLength和Type。可理解,Bundlename/APP_index、message、messageLength和Type均为消息X1的字段。其中,Bundlename/APP_index表示的是包名。message为目标传输数据。即本地应用N需要向第三方应用T传输的数据。messageLength表示的是消息长度。其单位可以为字节。Type表示的是消息类型。
示例性的,Type为music时,消息X1的消息类型为音乐信息。Type为healthdata时,消息X1的消息类型为健康数据。Type为navigation时,消息X1的消息类型为导航信息。Type为touchinfo时,消息X1的消息类型为触摸信息。
可理解,本地应用N可以为本地应用中的任一应用。同样的,第三方应用T可以为第三方应用中的任一应用。
S602:AMS确定可穿戴设备100中是否存在正在运行的应用,并在可穿戴设备100中存在正在运行的应用的情况下,比较正在运行的应用和第三方应用T的优先级。
AMS接收消息X1之后,可以查看可穿戴设备100中是否存在正在运行的应用。若可穿戴设备100中不存在正在运行的应用,可穿戴设备100可以继续执行后续步骤。若可穿戴设备100中存在正在运行的应用,AMS可以比较正在运行的应用和第三方应用T的优先级。在该正在运行的应用的优先级不高于第三方应用T的优先级的情况下,可穿戴设备100继续执行后续步骤。而在该正在运行的应用的优先级高于第三方应用T的优先级的情况下,可穿戴设备100不再执行后续步骤,直到可穿戴设备100中不再存在优先级高于第三方应用T且正在运行的应用时再执行后续步骤。
可理解,可穿戴设备100中可以存储有优先级列表。该优先级列表包括可穿戴设备100中的各个应用所对应的优先级。
可理解,可穿戴设备100中正在运行的应用可以为本地应用,也可以为第三方应用。
S603:在可穿戴设备100中不存在正在运行的应用,或者,正在运行的应用的优先级不高于第三方应用T的优先级的情况下,AMS向UI组件发送消息X2。消息X2用于建立UI组件和AMS之间的通信连接。
可理解,若AMS确定可穿戴设备100中不存在正在运行的应用,或者,正在运行的应用的优先级不高于第三方应用T的优先级,AMS可以向UI组件发送消息X2,从而与UI组件建立通信连接。
在本申请的一些实施例中,消息X2可以为:AMS_START_CHECK_REQUEST。
相应的,UI组件可以接收AMS发送的消息X2。UI组件可以根据当前的任务处理情况来确定是否与AMS建立通信连接。若UI组件正在执行其他流程,UI组件可以暂时不与AMS建立通信连接,直到UI组件不再执行其他流程时再与AMS建立通信连接。若UI组件没有正在执行的流程,即UI组件有能力处理其他的任务,则可穿戴设备100可以继续执行后续步骤。
S604:UI组件向AMS发送消息X3。消息X3用于表明UI组件同意与AMS建立通信连接。
可理解,UI组件接收AMS发送的消息X2之后,可以向AMS发送消息X3。消息X3可以表明UI组件同意与AMS建立通信连接。
在本申请的一些实施例中,消息X3可以为:AMS_START_CHECK_RESPONSE。
相应的,AMS可以接收UI组件发送的消息X3。这也就意味着,AMS与UI组件建立了通信连接。
S605:AMS向UI组件发送消息X4。消息X4用于请求UI组件将原显示界面置于后台。
可理解,AMS和UI组价建立通信连接之后,AMS可以向UI组件发送消息X4,以请求UI组件将原本显示在显示屏上的界面置于后台。
在本申请的一些实施例中,消息X4可以为:LAUNCHER_BACKGROUND。
相应的,UI组件可以接收AMS发送的消息X4。
S606:UI组件向AMS发送消息X5。消息X5用于通知AMS原显示界面已置于后台。
可理解,UI组件接收AMS发送的消息X4之后,确定AMS即将启动第三方应用T,可以将原显示界面置于后台,并发送消息X5给AMS,以便AMS及时启动第三方应用T。
在本申请的一些实施例中,消息X5可以为:AMS_ONBACKGROUND。
相应的,AMS可以接收UI组件发送的消息X5。
S607:AMS向JS应用框架发送消息X6。消息X6用于启动第三方应用T。
可理解,AMS接收UI组件发送的消息X5之后,AMS可以向JS应用框架发送消息X6,以通知JS应用框架启动第三方应用T。
在本申请的一些实施例中,消息X6用于通知JS应用框架启动第三方应用。
在本申请的一些实施例中,消息X6可以为:ACTIVE。
相应的,JS应用框架可以接收AMS发送的消息X6。
S608:JS应用框架加载第三方应用T的相关组件。
可理解,JS应用框架接收AMS发送的消息X6之后,可以加载第三方应用T的相关组件。可理解,第三方应用的T的相关组件可以包括界面显示组件、动画组件等。其中,界面显示组件可以包括控件位置、控件形状,以及控件对应的文字等。动画组件可以用于生成第三方应用T的启动动画,以及界面显示过程中的动画效果。可理解,第三方应用T的相关组件可以包括但不限于:通用组件、容器组件、基础组件、媒体组件、画布组件、栅格组件和svg组件等。其中,svg的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。svg是一种开放标准的矢量图形语言,是可缩放的矢量图形格式。
在本申请的一些实施例中,JS应用框架可以加载:jsability_launch,jsability_show。
相应的,JS应用框架加载第三方应用T的相关组件之后,第三方应用T开始启动。
S609:JS应用框架向AMS发送消息X7。消息X7用于通知AMS第三方应用T已启动。
在本申请的一些实施例中,消息X7可以为:AMS_ONACTIVE。
相应的,AMS可以接收JS应用框架发送的消息X7。
S610:JS应用框架向第三方应用T发送消息X8。消息X8用于通知第三方应用T启动注册流程。
可理解,JS应用框架向AMS发送消息X7之后,可以向第三方应用T发送消息X8,以通知第三方应用T启动注册流程。其中,注册流程指的是注册通信接口的流程。
在本申请的一些实施例中,消息X8可以为:sunscribemessage。
相应的,第三方应用T可以接收JS应用框架发送的消息X8。
S611:JS应用框架注册接口M。接口M为JS应用框架与AMS之间的通信接口。
可理解,JS应用框架向第三方应用T发送消息X8之后,可以注册接口M。接口M为JS应用框架与AMS之间的通信接口。接口M也可以理解为JS应用和本地应用之间的通信接口。
在本申请的一些实施例中,接口M可以为:TriggerSuccessCallback。
S612:JS应用框架向AMS发送消息X9。消息X9用于通知AMS接口X已注册。
可理解,JS应用框架注册接口M之后,可以向AMS发送消息X9以通知AMS接口M已注册。
在本申请的一些实施例中,消息X9可以为:AMS_REGISTER。
S613:AMS绑定接口M。
可理解,JS应用框架注册接口M之后,AMS可以绑定接口M,以便后续通过接口M进行通信。
在本申请的一些实施例中,AMS可以绑定TriggerSuccessCallback。
S614:AMS向第三方应用T发送消息X10。消息X10包括目标传输数据。
可理解,AMS绑定接口M之后,可以通过接口M向第三方应用T发送消息X10。其中,消息X10可以包括目标传输数据。目标传输数据的相关描述可参考步骤S601,在此不再赘述。
需要说明的是,图6所示的通信方法可以包括更多或更少的步骤,本申请对此不作限制。
基于图5所示的可穿戴设备应用间通信过程,结合图7具体本申请实施例提供的又一种通信方法。
S701:本地应用N向AMS发送消息X11。消息X11包括本地应用N的包名和第三方应用T的包名,以及目标传输数据。
可理解,步骤S701的相关描述可以参考步骤S601,在此不再赘述。
需要说明的是,消息X11所包括的目标传输数据的具体内容与消息X1所包括的目标传输数据的具体内容可以不相同。
在本申请的一些实施例中,消息X11可以为:AMS_SENDMESSAGE。
可理解,本地应用N向AMS发送消息X11之后,AMS可以与UI组件进行交互,请求UI资源,具体可以参考步骤S602-步骤S606,在此不再赘述。
相应的,AMS可以接收本地应用N发送的消息X11。
S702:AMS通过接口M向第三方应用T发送消息X11。
可理解,AMS接收本地应用N发送的消息X11之后,可以将消息X11通过接口M发送给第三方应用T。关于接口M的描述可以参考上文,在此不再赘述。
S703:第三方应用T通过接口M向AMS发送消息X12。消息X12包括第三方应用T的包名和本地应用N的包名,以及目标传输数据。
可理解,消息X12所包括的目标传输数据的具体内容与消息X1和消息X11所包括的目标传输数据的具体内容可以不相同。目标传输数据的相关描述可以参考上文,在此不再赘述。
相应的,AMS可以接收第三方应用T发送的消息X12。
可理解,第三方应用T向AMS发送消息X12之后,AMS可以与UI组件进行交互,请求UI资源,具体可以参考步骤S602-步骤S606,在此不再赘述。
S704:AMS向本地应用N发送消息X12。
可理解,AMS接收第三方应用T通过接口M发送的消息X12之后,可以将消息X12发送给本地应用N。
在本申请的一些实施例中,可穿戴设备100可以只执行步骤S701和步骤S702。
在本申请的一些实施例中,可穿戴设备100可以只执行步骤S703和步骤S704。
在本申请的一些实施例中,可穿戴设备100执行步骤S703和步骤S704的时间可以早于执行步骤S701和步骤S702的时间。
需要说明的是,图7所示的通信方法可以包括更多或更少的步骤,本申请对此不作限制。
下面介绍本申请提供的一些通信场景。
场景一:在跑步过程中,一旦心率超过心率阈值,可穿戴设备100中的本地应用将心率数据发送给第三方应用,第三方应用启动相应的训练课程。
如图8所示,用户在佩戴可穿戴设备100的情况下跑步。可穿戴设备100可以显示如图9a所示的用户界面300。用户界面300可以包括用户的心率曲线。如图9a所示,用户的最高心率为165次/分,最低心率为49次/分,用户的当前心率为165次/分。可穿戴设备100可以确定用户当前的心率超过心率阈值——160次/分。可穿戴设备100中的健康应用可以将用户的心率数据发送给运动应用,运动应用可以启动心率训练课程。如图9b所示,可穿戴设备100可以显示用户界面400。用户界面400是运动应用的启动界面。然后,可穿戴设备100还可以显示如图9c所示的用户界面500。用户界面500是心率训练课程的启动界面。
可理解,健康应用为可穿戴设备100的本地应用,而运动应用为可穿戴设备100的第三方应用。
下面结合图10具体介绍本申请实施例提供的一种通信方法在场景一中的应用。
S1001:可穿戴设备100检测用户是否处于运动状态。
可穿戴设备100可以通过陀螺仪传感器和加速度传感器来检测用户是否处于运动状态。其中,陀螺仪传感器可以为图3所示的陀螺仪传感器103B,加速度传感器可以为图3所示的加速度传感器103C。
需要说明的是,可穿戴设备100可以检测用户的运动类型(例如,跑步、自行车骑行等)。在本申请的一些实施例中,用户可以自行选择运动类型。
S1002:可穿戴设备100检测用户心率是否超过心率阈值。
可穿戴设备100可以实时检测用户心率,并判断用户心率是否超过心率阈值。
可理解,心率阈值可以根据实际需求进行设置,本申请对此不作限制。例如,可穿戴设备100可以根据用户的历史心率数据来设置心率阈值。再例如,可穿戴设备100可以根据运动类型来设置心率阈值。在本申请的一些实施例中,心率阈值可以为160次/分。
在本申请的一些实施例中,可穿戴设备100可以存储心率阈值与运动类型的对应关系。例如,跑步对应的心率阈值是160次/分钟。再例如,瑜伽对应的心率阈值是130次/分钟。再例如,自行车骑行对应的心率阈值是165次/分钟。
S1003:可穿戴设备100中的健康应用向可穿戴设备100中的AMS发送消息。该消息包括健康应用的包名、运动应用的包名,以及心率数据。
健康应用可以向AMS发送消息。该消息可以包括健康应用的包名、运动应用的包名,以及用户的心率数据。可理解,用户的心率数据可以包括用户当前的心率。心率数据即为上述实施例中的目标传输数据。
S1004:AMS可以检测运动应用是否启动。
可理解,AMS可以检测运动应用是否启动。即AMS可以检测运用应用是否正在运行,或者置于后台。
在本申请的一些实施例中,AMS还可以检测运动应用之前是否启动过。
若运动应用已启动或者之前启动过,可穿戴设备100继续执行步骤S1009和步骤S1010。若运动应用未启动且之前也未启动过,可穿戴设备100继续执行后续步骤。
S1005:AMS判断运动应用的优先级是否不低于当前正在运行的应用的优先级。
可理解,步骤S1005的相关描述可以参考步骤S602,在此不再赘述。
S1006:AMS通知JS应用框架启动运动应用。
可理解,步骤S1006的相关描述可以参考步骤S607-步骤S610。
可理解,AMS通知JS应用框架启动运动应用之前,可以建立与UI组件之间的通信连接,并请求UI组件将原显示界面置于后台,具体可以参考步骤S603-步骤S606,在此不再赘述。
S1007:JS应用框架注册接口M。
可理解,步骤S1006的相关描述可以参考步骤S611。
可理解,JS应用框架注册接口M之后,还可以向AMS发送消息以通知AMS接口M已注册。
S1008:AMS绑定接口M。
可理解,步骤S1006的相关描述可以参考步骤S613。
S1009:AMS通过接口M将心率数据发送给运动应用。
可理解,AMS绑定接口M之后,可以通过接口M向运动应用发送心率数据。
S1010:运动应用基于心率数据确定目标训练课程,并启动该目标训练课程。
运动应用接收心率数据之后,可以结合用户的运动状态和运动类型来确定目标训练课程,并启动该目标训练课程。相应的,可穿戴设备100可以显示目标训练课程的相关界面。
例如,用户正在跑步时,目标训练课程可以为跑步心率训练课程。再例如,用户正在自行车骑行时,目标训练课程可以为自行车骑行心率训练课程。再例如,用户正在做瑜伽时,目标训练课程可以为瑜伽心率训练课程。
S1011:在心率低于心率阈值或者用户停止运动的情况下,运动应用结束目标训练课程。
可理解,可穿戴设备100的健康应用可以实时获取用户的心率数据并将该心率数据发送给运动应用,一旦用户的心率低于心率阈值或者用户停止运动,运动应用可以结束目标训练课程。可穿戴设备100可以关闭运动应用。
在本申请的一些实施例中,在用户的心率低于心率阈值的情况下,无论用户是否结束运动,运动应用都可以结束目标训练课程。
在本申请的一些实施例中,在用户停止运动的情况下,运动应用可以结束目标训练课程。
在本申请的一些实施例中,在用户的心率低于心率阈值且用户停止运动的情况下,运动应用可以结束目标训练课程。
在本申请的一些实施例中,可穿戴设备100中的JS框架已经注册过接口M。因此,可穿戴设备100可以不执行步骤S1007和步骤S1008。
需要说明的是,可穿戴设备100还可以根据用户其他类型的健康数据(例如,压力、血氧等)来触发相应的训练课程,具体可参考上述实施例。
场景二:可穿戴设备100中存在正在运行的应用。可穿戴设备100可以检测到作用在按键上的用户操作。响应于该用户操作,可穿戴设备100中的本地应用可以向第三方应用发送消息以启动第三方应用。同时,可穿戴设备100还可以将正在运行的应用置于后台。
如图11所示,用户在佩戴可穿戴设备100的情况下进行锻炼。可穿戴设备100中正在运行运动应用。如图12所示,可穿戴设备100可以显示用户界面600。用户界面600可以为运动应用中的训练课程的界面。用户界面600可以包括用户正在训练的动作、用户的心率和消耗的卡路里。可穿戴设备100此时可以通过振动或语音来提醒用户接收到了新消息。如图12所示,用户可以长按可穿戴设备100上的按键112。可穿戴设备100中的本地应用可以对用户的长按按键操作进行识别。具体地,本地应用可以将用户的长按按键操作识别为2秒以上的高电平信号。然后,可穿戴设备100中的本地应用可以向通讯应用发送消息,以启动通讯应用并显示通讯应用中包括新消息的通讯界面。如图13所示,可穿戴应用100可以显示用户界面700。用户界面700包括通讯应用中的好友发来的新消息。同时,可穿戴应用100还可以将运动应用置于后台。可穿戴设备100中的运动应用可以通过语音播报等方式提示用户接下来的训练动作。
可理解,上述实施例中的本地应用是为了识别用户作用在按键上的操作而设置的应用。运动应用可以为本地应用,也可以为第三方应用。通讯应用为第三方应用。
下面结合图14具体介绍本申请实施例提供的一种通信方法在场景二中的应用。
S1401:可穿戴设备100检测到作用在按键上的用户操作。
用户可以长按按键,可穿戴设备100可以检测到作用在按键上的长按操作。可理解,该用户操作还可以包括按两次按键、在显示屏上向右滑动、在显示屏上向上滑动等,本申请对用户操作的具体形式不作限制。
S1402:可穿戴设备100中的本地应用对作用在按键上的用户操作进行识别,并向可穿戴设备100中的AMS发送信号。该信号用于通知通讯应用启动界面J。
在本申请的一些实施例中,本地应用向AMS发送的信号可以为持续高电平信号。本地应用向AMS发送的信号还可以为预设时间内的多次高电平信号。例如,3秒内的两次高电平信号。当然,本地应用向AMS发送的信号还可以为其他类型的信号,本申请对此不作限制。
在本申请的一些实施例中,本地应用向AMS发送的信号也可以理解为消息。
可理解,界面J可以为通讯应用中包括新消息的通讯界面(如图13所示)。
S1403:AMS通知JS应用框架启动通讯应用。
S1404:JS应用框架注册接口M。
S1405:AMS绑定接口M。
S1406:AMS通过接口M将信号发送给通讯应用。
可理解,步骤S1403-步骤S1406的相关描述可以参考步骤S1006-步骤S1009,在此不再赘述。
S1407:通讯应用显示界面J。
可理解,通讯应用接收AMS发送的信号之后,可以显示界面J。
需要说明的是,场景二中的第三方应用还可以为通讯应用以外的其他应用,本申请对此不作限制。
场景三:可穿戴设备100可以检测到作用在本地应用的相应界面上的用户操作。本地应用可以向第三方应用发送消息,已启动第三方应用实现音乐播放、生成二维码等。
示例性的,用户可以点击本地音乐应用上的相应控件。该控件用于触发播放用户最喜欢的歌曲。可穿戴设备100可以检测到该点击操作。相应的,本地音乐应用可以通过接口M向第三方音乐应用发送消息。该消息用于通知第三方应用播放用户最喜欢的歌曲。第三方音乐应用接收该消息之后,可以启动相应界面,从而实现音乐播放。
示例性的,用户可以点击本地应用中的航班信息卡片。可穿戴设备100可以检测到该点击操作。相应的,本地应用可以通过接口M向第三方应用发送消息。该消息用于通知第三方应用显示航班的具体信息。第三方应用接收该消息之后,可以启动相应界面。可穿戴设备100可以在显示屏上显示航班的具体信息。
可理解,上述示例中,本地应用通过接口M向第三方应用发送消息之前,可穿戴设备100中的JS应用框架需要注册接口M,且AMS需要绑定接口M,具体描述可以参考上文,在此不再赘述。
需要说明的是,场景三中的本地应用和第三方应用还可以为其他应用,本申请对此不作限制。
类似的,可穿戴设备100中的第三方应用也可以向本地应用发送消息,已启动本地应用实现日程提醒、航班提醒等功能。
可理解,本申请的说明书和权利要求书及附图中的术语“界面”和“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种通信方法,其特征在于,应用于电子设备,所述方法包括:
所述电子设备中的本地应用向所述电子设备中的能力管理服务AMS发送第一消息;所述第一消息包括所述本地应用的包名、第三方应用的包名,以及第一目标传输数据;
所述AMS通过第一通信接口向所述电子设备中的所述第三方应用发送所述第一消息;所述第一通信接口为所述AMS与所述电子设备中的JS应用框架之间的通信接口;
或者,
所述AMS接收所述第三方应用通过所述第一通信接口发送的第二消息;所述第二消息包括所述第三方应用的包名、所述本地应用的包名,以及第二目标传输数据;
所述AMS向所述本地应用发送所述第二消息。
2.如权利要求1所述的方法,其特征在于,所述电子设备中的本地应用向所述电子设备中的能力管理服务AMS发送第一消息之前,或者,所述AMS接收所述第三方应用通过所述第一通信接口发送的第二消息之前,所述方法还包括:
所述电子设备启动所述第三方应用;
所述JS应用框架注册所述第一通信接口;
所述AMS绑定所述第一通信接口。
3.如权利要求2所述的方法,其特征在于,所述电子设备启动所述第三方应用之前,所述方法还包括:
所述本地应用向所述AMS发送第三消息;所述第三消息包括所述本地应用的包名、所述第三方应用的包名,以及第三目标传输数据;
所述AMS确定所述电子设备中是否存在正在运行的应用,并在所述电子设备中存在正在运行的应用的情况下,比较正在运行的应用与所述第三方应用的优先级;
所述电子设备启动所述第三方应用,具体包括:
在所述电子设备中不存在正在运行的应用,或者,正在运行的应用的优先级不高于所述第三方应用的优先级的情况下,所述电子设备启动所述第三方应用;
所述AMS绑定所述第一通信接口之后,所述方法还包括:
所述AMS通过所述第一通信接口向所述第三方应用发送所述第三目标传输数据。
4.如权利要求2所述的方法,其特征在于,所述JS应用框架注册所述第一通信接口之前,所述方法还包括:
所述JS应用框架向所述第三方应用发送第四消息;所述第四消息用于通知所述第三方应用启动注册流程;
所述JS应用框架注册所述第一通信接口之后,所述方法还包括:
所述JS应用框架向所述AMS发送第五消息;所述第五消息用于通知所述AMS所述第一通信接口已注册。
5.如权利要求2-4任一项所述的方法,其特征在于,所述电子设备启动所述第三方应用,具体包括:
所述AMS向所述JS应用框架发送第六消息;所述第六消息用于通知所述JS应用框架启动所述第三方应用;
所述JS应用框架加载所述第三方应用的相关组件,并向所述AMS发送第七消息;所述第七消息用于通知所述AMS所述第三方应用已启动。
6.如权利要求2-5任一项所述的方法,其特征在于,所述电子设备启动所述第三方应用之前,所述方法还包括:
所述AMS与所述电子设备中的UI组件建立通信连接;
所述AMS请求所述UI组件将原显示界面置于后台。
7.如权利要求1-6任一项所述的方法,其特征在于,所述AMS通过第一通信接口向所述电子设备中的所述第三方应用发送所述第一消息之后,所述方法还包括:
所述AMS接收所述第三方应用通过所述第一通信接口发送的第八消息;所述第八消息包括所述第三方应用的包名、所述本地应用的包名,以及第四目标传输数据;
所述AMS向所述第三方应用发送所述第八消息。
8.如权利要求1-6任一项所述的方法,其特征在于,所述AMS接收所述第三方应用通过所述第一通信接口发送的第二消息之后,所述方法还包括:
所述本地应用向所述AMS发送第九消息;所述第九消息包括所述本地应用的包名、所述第三方应用的包名,以及第五目标传输数据;
所述AMS通过第一通信接口向所述第三方应用发送所述第九消息。
9.一种电子设备,包括显示屏、存储器,以及一个或多个处理器,其特征在于,所述存储器用于存储计算机程序;所述处理器用于调用所述计算机程序,使得所述电子设备执行权利要求1-8中任一项所述的方法。
10.一种计算机存储介质,其特征在于,包括:计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行权利要求1-8中任一项所述的方法。
CN202210588160.7A 2022-05-27 2022-05-27 一种通信方法及相关设备 Active CN115033396B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202310444222.1A CN117112251A (zh) 2022-05-27 2022-05-27 一种通信方法及相关设备
CN202210588160.7A CN115033396B (zh) 2022-05-27 2022-05-27 一种通信方法及相关设备
PCT/CN2023/092908 WO2023226744A1 (zh) 2022-05-27 2023-05-09 一种通信方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210588160.7A CN115033396B (zh) 2022-05-27 2022-05-27 一种通信方法及相关设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310444222.1A Division CN117112251A (zh) 2022-05-27 2022-05-27 一种通信方法及相关设备

Publications (2)

Publication Number Publication Date
CN115033396A true CN115033396A (zh) 2022-09-09
CN115033396B CN115033396B (zh) 2023-05-02

Family

ID=83121621

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310444222.1A Pending CN117112251A (zh) 2022-05-27 2022-05-27 一种通信方法及相关设备
CN202210588160.7A Active CN115033396B (zh) 2022-05-27 2022-05-27 一种通信方法及相关设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310444222.1A Pending CN117112251A (zh) 2022-05-27 2022-05-27 一种通信方法及相关设备

Country Status (2)

Country Link
CN (2) CN117112251A (zh)
WO (1) WO2023226744A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112251A (zh) * 2022-05-27 2023-11-24 荣耀终端有限公司 一种通信方法及相关设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170041296A1 (en) * 2015-08-05 2017-02-09 Intralinks, Inc. Systems and methods of secure data exchange
CN107220076A (zh) * 2016-09-27 2017-09-29 华为技术有限公司 一种内存回收方法及装置
CN108111676A (zh) * 2017-12-14 2018-06-01 维沃移动通信有限公司 一种应用程序控制方法及移动终端
CN111669621A (zh) * 2020-04-30 2020-09-15 聚好看科技股份有限公司 一种媒资数据下发方法、服务器及显示设备
CN113887264A (zh) * 2021-06-07 2022-01-04 荣耀终端有限公司 扫码方法、系统及相关装置
CN114124980A (zh) * 2020-08-29 2022-03-01 荣耀终端有限公司 一种启动应用的方法、装置及系统
CN114428618A (zh) * 2020-10-28 2022-05-03 华为技术有限公司 一种跨设备应用交互方法、电子设备与服务器
CN114443268A (zh) * 2020-10-31 2022-05-06 华为终端有限公司 内存管理方法、装置、电子设备以及计算机可读存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008436A (zh) * 2013-02-26 2014-08-27 中国移动通信集团浙江有限公司 一种内容管理集成方法和系统
US10257141B2 (en) * 2015-03-13 2019-04-09 Cola, Inc. System and method for delivering inline interactive objects encapsulated in a message
CN105867980A (zh) * 2016-04-19 2016-08-17 青岛海信电器股份有限公司 终端的按键处理方法及装置
CN107169904A (zh) * 2017-03-31 2017-09-15 西藏喜年通讯科技有限公司 不同应用平台之间信息交互的方法、移动设备及装置
CN110086930A (zh) * 2019-04-22 2019-08-02 努比亚技术有限公司 一种语音交互方法、可穿戴设备和计算机可读存储介质
CN110569130B (zh) * 2019-07-29 2021-12-14 华为技术有限公司 一种跨进程通信方法、装置及设备
CN112399264B (zh) * 2019-08-18 2022-06-14 聚好看科技股份有限公司 一种放映厅业务管理方法及应用
CN112579191A (zh) * 2019-09-29 2021-03-30 华为终端有限公司 一种组件加载方法、装置及系统
US11615392B2 (en) * 2020-05-01 2023-03-28 Capital One Services, Llc Systems and methods for using information from wearable devices
CN112114913B (zh) * 2020-07-27 2022-08-09 广东太平洋互联网信息服务有限公司 应用程序的界面更新方法、装置、计算机设备和存储介质
CN113301546B (zh) * 2021-04-25 2022-07-01 荣耀终端有限公司 一种查找可穿戴设备的方法和装置
CN113703641A (zh) * 2021-06-28 2021-11-26 深圳市爱都科技有限公司 消息预览方法、装置、可穿戴设备及计算机可读存储介质
CN114237464B (zh) * 2021-11-11 2022-11-04 荣耀终端有限公司 一种数据共享方法及电子设备
CN117112251A (zh) * 2022-05-27 2023-11-24 荣耀终端有限公司 一种通信方法及相关设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170041296A1 (en) * 2015-08-05 2017-02-09 Intralinks, Inc. Systems and methods of secure data exchange
CN107220076A (zh) * 2016-09-27 2017-09-29 华为技术有限公司 一种内存回收方法及装置
CN108111676A (zh) * 2017-12-14 2018-06-01 维沃移动通信有限公司 一种应用程序控制方法及移动终端
CN111669621A (zh) * 2020-04-30 2020-09-15 聚好看科技股份有限公司 一种媒资数据下发方法、服务器及显示设备
CN114124980A (zh) * 2020-08-29 2022-03-01 荣耀终端有限公司 一种启动应用的方法、装置及系统
CN114428618A (zh) * 2020-10-28 2022-05-03 华为技术有限公司 一种跨设备应用交互方法、电子设备与服务器
CN114443268A (zh) * 2020-10-31 2022-05-06 华为终端有限公司 内存管理方法、装置、电子设备以及计算机可读存储介质
CN113887264A (zh) * 2021-06-07 2022-01-04 荣耀终端有限公司 扫码方法、系统及相关装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112251A (zh) * 2022-05-27 2023-11-24 荣耀终端有限公司 一种通信方法及相关设备
WO2023226744A1 (zh) * 2022-05-27 2023-11-30 荣耀终端有限公司 一种通信方法及相关设备

Also Published As

Publication number Publication date
WO2023226744A1 (zh) 2023-11-30
CN117112251A (zh) 2023-11-24
CN115033396B (zh) 2023-05-02
WO2023226744A9 (zh) 2024-01-04

Similar Documents

Publication Publication Date Title
CN109814766B (zh) 一种应用显示方法及电子设备
WO2020151387A1 (zh) 一种基于用户运动状态的推荐方法及电子设备
WO2021036568A1 (zh) 辅助健身的方法和电子装置
CN113254120B (zh) 数据处理方法和相关装置
CN115866122A (zh) 应用界面交互方法、电子设备和计算机可读存储介质
CN111738122A (zh) 图像处理的方法及相关装置
WO2021052139A1 (zh) 手势输入方法及电子设备
CN111669515A (zh) 一种视频生成方法及相关装置
WO2024016564A1 (zh) 二维码识别方法、电子设备以及存储介质
WO2022073417A1 (zh) 融合场景感知机器翻译方法、存储介质及电子设备
WO2023066395A1 (zh) 一种应用运行方法以及相关设备
WO2023226744A9 (zh) 一种通信方法及相关设备
WO2021052035A1 (zh) 一种屏幕侧面区域显示方法及电子设备
CN114424927A (zh) 睡眠监测方法、装置、电子设备及计算机可读存储介质
WO2022127130A1 (zh) 一种添加操作序列的方法、电子设备和系统
CN113688019B (zh) 响应时长检测方法及装置
WO2023130931A1 (zh) 服务异常提醒方法、电子设备及存储介质
WO2023179490A1 (zh) 应用推荐方法和电子设备
CN114090140A (zh) 基于指向操作的设备之间的交互方法及电子设备
CN111104209A (zh) 一种处理任务的方法及相关设备
CN113996046B (zh) 热身判断方法、装置及电子设备
CN114828098A (zh) 数据传输方法和电子设备
CN115086413B (zh) 信息提示方法和电子设备
WO2022143094A1 (zh) 一种窗口页面的交互方法、装置、电子设备以及可读存储介质
WO2023072195A1 (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