CN111713176B - 一种数据传输方法及终端 - Google Patents
一种数据传输方法及终端 Download PDFInfo
- Publication number
- CN111713176B CN111713176B CN201880089250.3A CN201880089250A CN111713176B CN 111713176 B CN111713176 B CN 111713176B CN 201880089250 A CN201880089250 A CN 201880089250A CN 111713176 B CN111713176 B CN 111713176B
- Authority
- CN
- China
- Prior art keywords
- terminal
- data
- usb
- connection
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/04—Terminal devices adapted for relaying to or from another terminal or user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/20—Transfer of user or subscriber data
- H04W8/205—Transfer to or from user equipment or user record carrier
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W92/00—Interfaces specially adapted for wireless communication networks
- H04W92/16—Interfaces between hierarchically similar devices
- H04W92/18—Interfaces between hierarchically similar devices between terminal devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本申请实施例公开了一种数据传输方法及终端,涉及终端领域,可提高终端之间的数据传输速度,保证数据传输时的稳定性。该方法包括:终端与另一终端建立无线连接;并且,终端还与该另一终端建立USB连接;进而,终端可显示第一界面,该第一界面包括至少一项候选数据;用户在第一界面中执行第一输入后,可从上述至少一项候选数据中选中待传输数据;进而,用户在第一界面执行第二输入后,终端可通过上述无线连接和USB连接向该另一终端发送上述待传输数据。
Description
技术领域
本申请涉及终端领域,尤其涉及一种数据传输方法及终端。
背景技术
随着通讯技术的飞速发展,手机等终端的存储容量也越来越大。那么,用户在更换手机等场景下需要拷贝和传输的数据量也随之增加。
目前,用户可以通过安装数据拷贝软件,例如,手机克隆APP(application),在两个手机之间通过无线局域网(wireless local area networks,WLAN)等方式传输数据。例如,用户如果希望将旧手机内的数据拷贝到新手机上,可以在旧手机和新手机中均安装手机克隆APP。当旧手机和新手机接入同一无线保真(wireless fidelity,Wi-Fi)网络时,用户可以通过手机克隆APP将旧手机设置为数据发送端,将新手机设置为数据接收端,进而使用该Wi-Fi网络将用户在旧手机中选中的数据发送至新手机。
但是,在上述数据传输过程中数据的传输速度依赖于接入的Wi-Fi网络的网速以及Wi-Fi网络的稳定情况。当Wi-Fi网络的质量不佳时,会影响终端之间的数据传输速度,甚至导致传输中断等问题。
发明内容
本申请技术方案提供一种数据传输方法及终端,可提高终端之间的数据传输速度,保证数据传输时的稳定性。
第一方面,本申请技术方案提供一种数据传输方法,包括:终端与另一终端建立无线连接;终端与该另一终端建立了通用串行总线(universal serial bus,USB)连接;终端可显示第一界面,该第一界面包括至少一项候选数据;用户在第一界面中执行第一输入后,可从上述至少一项候选数据中选中待传输数据;进而,用户在第一界面执行第二输入后,终端可通过上述无线连接和USB连接向该另一终端发送上述待传输数据。
也就是说,当用户需要在两个终端之间传输数据时,可在这两个终端之间建立USB连接和无线连接两种传输通道。其中,可以先建立无线连接,例如Wi-Fi连接,再建立USB连接;也可以先建立USB连接,再建立无线连接。这样,用户选中了待传输数据后,终端可通过USB连接和无线连接这两种传输通道同时向另一终端传输选中的待传输数据,从而大大提高终端之间的数据传输速度。
其中,无线连接可以为Wi-Fi连接,终端与另一终端可以通过如下方式建立Wi-Fi连接:
终端和另一终端可以安装手机克隆APP,响应于用户的触发,在终端上打开手机克隆APP,选择旧手机;响应于用户的触发,在另一终端上打开手机克隆APP,选择新手机,新手机上生成二维码,响应于用户的操作,终端扫描该二维码,与另一终端建立Wi-Fi连接。其中,二维码可以包括用于接入另一终端热点的信息,例如热点的名称和密码等。
其中,上述手机克隆APP为数据传输应用。此外,一键换机APP等也可以理解为是数据传输应用。
在一种可能的技术方案中,上述待传输数据具体包括第一数据和第二数据,那么,在终端通过无线连接和USB连接向另一终端发送该待传输数据之前,还可以包括:终端根据自身与另一终端的电量确定上述第一数据的大小和第二数据的大小;或者;终端根据上述无线连接的网络质量确定上述第一数据的大小和第二数据的大小;或者;终端根据该USB连接的传输速度确定上述第一数据的大小和第二数据的大小。这样一来,终端可以动态的确定哪些数据通过USB连接传输以及哪些数据通过无线连接,可以使得终端的耗电量以及传输速度最优。
在一种可能的技术方案中,当上述无线连接断开时,终端还可以通过USB连接向另一终端发送未传输的数据。
在一种可能的技术方案中,当上述USB连接断开时,终端还可以通过无线连接向另一终端发送未传输的数据。
可以看出,由于两个终端之间具有USB连接和Wi-Fi连接这两种传输通道,因此,当任意一种传输通道中断时,发送端还可继续使用另一传输通道传输数据,从而保证了数据传输时的稳定性。
在一种可能的技术方案中,在上述终端与另一终端建立USB连接之后,还包括:终端通过该USB连接给该另一终端供电。
在一种可能的技术方案中,在终端通过USB连接给另一终端供电之后,还包括:获取终端的剩余电量和另一终端的剩余电量;根据终端的剩余电量和另一终端的剩余电量,切换该USB连接的主从关系。
示例性的,根据终端的剩余电量和该另一终端的剩余电量,切换该USB连接的主从关系,具体可以包括:当终端的剩余电量与另一终端的剩余电量之间的差值大于第一阈值(例如第一阈值为50%),且终端为剩余电量较低的一方时,切换该USB连接的主从关系。
这样一来,可将电量较低的USB主设备切换为接受供电的USB从设备,并将电量较高的USB从设备切换为供电的USB主设备,从而及时对电量较低的一方进行及时补电,避免因一方电量过低而导致传输中断的问题,提高数据传输过程的稳定性。
在一种可能的技术方案中,上述第一输入和第二输入可以为两个独立的手势;或者,上述第一输入和第二输入也可以为一个手势的两个阶段。
在一种可能的技术方案中,上述终端和另一终端均支持USB Type-C接口。其中,终端与另一终端建立了USB连接,可以通过C-to C(Type C to Type C)的直连数据线连接终端和另一终端。
在一种可能的技术方案中,上述候选数据具体可包括联系人、信息、照片、通话记录、音频、视频、文档或应用中的至少一项。
在一种可能的技术方案中,上述终端内安装有数据传输应用,上述第一界面为该数据传输应用中的界面。
在一种可能的技术方案中,在终端显示第一界面之前,还包括:响应于用户打开该数据传输应用的操作,终端显示该数据传输应用的第二界面,该第二界面用于提示用户将终端设置为数据发送端或数据接收端。
在一种可能的技术方案中,在终端显示第二界面之后,还包括:响应于用户将终端设置为数据发送端或数据接收端的操作,终端显示提示信息,提示所述终端与所述另一终端建立连接。
在一种可能的技术方案中,上述无线连接可以为Wi-Fi连接。在终端与另一终端建立Wi-Fi连接之后,终端还可以根据自身的剩余电量和另一终端的剩余电量,切换当前Wi-Fi连接的主从关系。
示例性的,如果上述终端为Wi-Fi主设备,另一终端为Wi-Fi从设备,且Wi-Fi主设备的耗电量大于Wi-Fi从设备的耗电量时,如果检测到上述终端的剩余电量与另一终端的剩余电量之间的差值大于第二阈值(例如第二阈值为60%),且上述终端为剩余电量较低的一方时,则可切换Wi-Fi连接的主从关系。
这样一来,可将耗电量较高的Wi-Fi主设备切换为耗电量较低的Wi-Fi从设备,并将耗电量较低的Wi-Fi从设备切换为耗电量较高的Wi-Fi主设备,从而缓解Wi-Fi主设备耗电过快而导致传输中断的问题。
第二方面,本申请技术方案提供一种数据传输方法,应用于第一终端与第二终端传输数据的场景下,该第一终端与第二终端内均安装有数据传输应用。所述方法包括:响应于用户对第一终端的触发,第一终端打开其数据传输应用,并将自身作为旧手机;响应于用户对第二终端的触发,第二终端打开其数据传输应用,并将自身作为新手机;第一终端可与第二终端分别建立Wi-Fi连接和USB连接;第一终端显示上述数据传输应用的第一界面,该第一界面包括至少一项候选数据;响应于用户在第一界面中的第一输入,可从至少一项候选数据中选中待传输数据;响应于用户在第一界面中的第二输入,第一终端可通过上述Wi-Fi连接和USB连接向第二终端发送选中的待传输数据。从而提高用户使用数据传输应用更换手机时的数据传输速度。
在一种可能的技术方案中,第一终端打开其数据传输应用,并将自身作为旧手机,具体实现可以为:第一终端打开其数据传输应用,第一终端显示数据传输应用的第二界面,第二界面用于提示用户将第一终端设置为旧手机,响应于用户的触发,将第一终端设置为旧手机。类似的,在第二终端打开其数据传输应用之后,第二终端也可以显示数据传输应用的第二界面,第二界面用于提示用户将第二终端设置为新手机,响应于用户的触发,将第二终端设置为新手机。
在一种可能的技术方案中,在第一终端显示了数据传输应用的第二界面之后,如果接收到用户将第一终端设置为旧手机的操作,第一终端可以显示提示信息,用于提示第一终端与第二终端建立连接。
其中,提示信息可以包括第一提示和第二提示,第一提示用于提示第一终端与第二终端建立Wi-Fi连接,第二提示用于提示第一终端与第二终端建立USB连接。类似的,在第二终端显示了数据传输应用的第二界面之后,如果接收到用户将第二终端设置为新手机的操作,第二终端也可以显示提示信息,用于提示与第一终端建立连接。提示信息可以包括第一提示和第二提示,第一提示用于提示第二终端与第一终端建立Wi-Fi连接,第二提示用于提示第二终端与第一终端建立USB连接。
其中,第一终端与第二终端建立Wi-Fi连接,可以为:在第二终端(新手机)上生成二维码,响应于用户的操作,第一终端(旧手机)扫描该二维码,与新手机建立Wi-Fi连接。其中,二维码可以包括用于接入第二终端热点的信息,例如热点的名称和密码等。
在一种可能的技术方案中,第一终端和第二终端的应用程序框架层中均包括Wi-Fi管理器和USB管理器。当第一终端的Wi-Fi管理器检测到与第二终端建立Wi-Fi连接后,可向其数据传输应用上报Wi-Fi连接建立事件;当第一终端的USB管理器检测到与第二终端建立USB连接后,向其数据传输应用上报USB连接建立事件。类似的,当第二终端的Wi-Fi管理器检测到与第一终端建立Wi-Fi连接后,可向其数据传输应用上报Wi-Fi连接建立事件;当第二终端的USB管理器检测到与第一终端建立USB连接后,向其数据传输应用上报USB连接建立事件。这样,作为旧手机的第一终端内的数据传输应用在确认USB连接和Wi-Fi连接均建立后可显示上述第一界面;作为新手机的第二终端内的数据传输应用在确认USB连接和Wi-Fi连接均建立后可等待接收第一终端发送的待传输数据。
在一种可能的技术方案中,上述待传输数据包括第一数据和第二数据,其中,终端通过上述Wi-Fi连接和USB连接向第二终端发送待传输数据,具体包括:第一终端的数据传输应用通过调用Wi-Fi管理器,在Wi-Fi连接上向第二终端发送第一数据;第一终端的数据传输应用通过调用USB管理器,在USB连接上向第二终端发送第二数据。
在一种可能的技术方案中,在第一终端与第二终端建立USB连接后之后,第一终端可以作为USB主设备向第二终端供电。其中,第一终端(或第二终端)内的数据传输应用可调用电源管理器获取自身的剩余电量,并通过USB连接或Wi-Fi连接获取对端的剩余电量。
在一种可能的技术方案中,当第一终端的剩余电量与第二终端的剩余电量之间的差值大于第一阈值(例如第一阈值为50%),第一终端为剩余电量较低的一方时,第一终端内的数据传输应用可调用其USB管理器,将USB管理器从USB主设备工作模式切换为USB从设备工作模式。相应的,第二终端内的数据传输应用也可调用其USB管理器,将USB管理器从USB从设备工作模式切换为USB主设备工作模式。这样就可以完成USB连接两端设备的主从关系切换过程。
在一种可能的技术方案中,当第一终端的剩余电量与第二终端的剩余电量之间的差值大于第二阈值(例如第二阈值为60%),第一终端为Wi-Fi连接中耗电量较高的一方时,第一终端内的数据传输应用可调用其Wi-Fi管理器,将Wi-Fi管理器从Wi-Fi主设备工作模式切换为Wi-Fi从设备工作模式。相应的,第二终端内的数据传输应用也可调用其Wi-Fi管理器,将Wi-Fi管理器从Wi-Fi从设备工作模式切换为Wi-Fi主设备工作模式。这样就可以完成Wi-Fi连接两端设备的主从关系切换过程。
在一种可能的技术方案中,在第一终端与第二终端建立USB连接后之后,如果第一终端内的USB管理器检测到上述USB连接断开,则USB管理器可向其对应的数据传输应用上报USB连接断开事件;进而,数据传输应用可调用Wi-Fi管理器,在Wi-Fi连接上向第二终端发送未传输的数据。
类似的,在第一终端与第二终端建立Wi-Fi连接后之后,如果第一终端内的Wi-Fi管理器检测到上述Wi-Fi连接断开,则Wi-Fi管理器可向其对应的数据传输应用上报Wi-Fi连接断开事件;进而,数据传输应用可调用Wi-Fi管理器,在USB连接上向第二终端发送未传输的数据。
第三方面,本申请技术方案提供一种终端,包括:建立单元,用于与另一终端建立无线连接;与该另一终端建立USB连接;显示单元,用于显示第一界面,第一界面包括至少一项候选数据;确定单元,用于响应于用户在第一界面中的第一输入,从该至少一项候选数据中选中待传输数据;传输单元,用于响应于用户在第一界面中的第二输入,通过该无线连接和USB连接向该另一终端发送该待传输数据。
在一种可能的技术方案中,该待传输数据包括第一数据和第二数据,上述确定单元,还用于:根据终端与该另一终端的电量确定第一数据的大小和第二数据的大小;或者;根据该无线连接的网络质量确定第一数据的大小和第二数据的大小;或者;根据该USB连接的传输速度确定第一数据的大小和第二数据的大小。
在一种可能的技术方案中,当该无线连接断开时,上述传输单元还用于通过该USB连接向该另一终端发送未传输的数据。
在一种可能的技术方案中,当该USB连接断开时,上述传输单元还用于通过该无线连接向该另一终端发送未传输的数据。
在一种可能的技术方案中,上述终端还包括供电单元,用于通过该USB连接给该另一终端供电。
在一种可能的技术方案中,上述终端还包括切换单元,用于获取终端的剩余电量和该另一终端的剩余电量;根据终端的剩余电量和该另一终端的剩余电量,切换该USB连接的主从关系。
在一种可能的技术方案中,上述切换单元,具体用于当终端的剩余电量与该另一终端的剩余电量之间的差值大于第一阈值,且终端为剩余电量较低的一方时,切换该USB连接的主从关系。
在一种可能的技术方案中,第一输入和第二输入为两个独立的手势;或者,第一输入和第二输入为一个手势的两个阶段。
在一种可能的技术方案中,终端和该另一终端均支持USB Type-C接口。
在一种可能的技术方案中,该候选数据包括联系人、信息、照片、通话记录、音频、视频、文档或应用中的至少一项。
在一种可能的技术方案中,终端安装有数据传输应用,第一界面为该数据传输应用的界面。
在一种可能的技术方案中,上述显示单元,还用于响应于用户打开该数据传输应用的操作,显示该数据传输应用的第二界面,第二界面用于提示用户将终端设置为数据发送端或数据接收端。
在一种可能的技术方案中,上述显示单元,还用于响应于用户将终端设置为数据发送端或数据接收端的操作,显示提示信息,用于提示终端与该另一终端建立连接。
第四方面,本申请技术方案提供一种终端,包括触摸屏和一个或多个处理器;该处理器用于:控制终端与另一终端建立无线连接;控制终端与该另一终端建立USB连接;控制该触摸屏显示第一界面,第一界面包括至少一项候选数据;响应于用户在第一界面中的第一输入,从该至少一项候选数据中选中待传输数据;响应于用户在第一界面中的第二输入,控制终端通过该无线连接和USB连接向该另一终端发送该待传输数据。
在一种可能的技术方案中,该待传输数据包括第一数据和第二数据,该处理器还用于:根据终端与该另一终端的电量确定第一数据的大小和第二数据的大小;或者;根据该无线连接的网络质量确定第一数据的大小和第二数据的大小;或者;根据该USB连接的传输速度确定第一数据的大小和第二数据的大小。
在一种可能的技术方案中,该处理器还用于:当该无线连接断开时,控制终端通过该USB连接向该另一终端发送未传输的数据。
在一种可能的技术方案中,该处理器还用于:当该USB连接断开时,控制终端通过该无线连接向该另一终端发送未传输的数据。
在一种可能的技术方案中,该处理器还用于:控制终端通过该USB连接给该另一终端供电。
在一种可能的技术方案中,该处理器还用于:获取终端的剩余电量和该另一终端的剩余电量;根据终端的剩余电量和该另一终端的剩余电量,切换该USB连接的主从关系。
在一种可能的技术方案中,该处理器具体用于:当终端的剩余电量与该另一终端的剩余电量之间的差值大于第一阈值,且终端为剩余电量较低的一方时,控制该终切换该USB连接的主从关系。
在一种可能的技术方案中,终端安装有数据传输应用,第一界面为该数据传输应用的界面;该处理器还用于:响应于用户打开该数据传输应用的操作,控制该触摸屏显示该数据传输应用的第二界面,第二界面用于提示用户将终端设置为数据发送端或数据接收端。
在一种可能的技术方案中,该处理器还用于:响应于用户将终端设置为数据发送端或数据接收端的操作,控制该触摸屏显示提示信息,用于提示终端与该另一终端建立连接。
第五方面,本申请技术方案提供一种计算机存储介质,包括计算机指令,当计算机指令在终端上运行时,使得终端执行如第一方面中任一项所述的数据传输方法。
第六方面,本申请技术方案提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面中任一项所述的数据传输方法。
可以理解地,上述提供的第三方面和第四方面所述的终端、第五方面所述的计算机存储介质,以及第六方面所述的计算机程序产品均可以用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种终端的结构示意图一;
图2为本申请实施例提供的一种数据传输方法的场景示意图一;
图3为本申请实施例提供的一种终端内操作系统的架构示意图;
图4为本申请实施例提供的一种数据传输方法的交互示意图一;
图5为本申请实施例提供的一种数据传输方法的场景示意图二;
图6为本申请实施例提供的一种数据传输方法的场景示意图三;
图7A为本申请实施例提供的一种数据传输方法的场景示意图四;
图7B为本申请实施例提供的一种数据传输方法的场景示意图五;
图8为本申请实施例提供的一种数据传输方法的场景示意图六;
图9为本申请实施例提供的一种数据传输方法的场景示意图七;
图10为本申请实施例提供的一种数据传输方法的场景示意图八;
图11为本申请实施例提供的一种数据传输方法的场景示意图九;
图12为本申请实施例提供的一种数据传输方法的场景示意图十;
图13为本申请实施例提供的一种数据传输方法的交互示意图二;
图14为本申请实施例提供的一种数据传输方法的场景示意图十一;
图15为本申请实施例提供的一种数据传输方法的交互示意图三;
图16为本申请实施例提供的一种数据传输方法的场景示意图十二;
图17为本申请实施例提供的一种终端的结构示意图二。
具体实施方式
本申请实施例提供的数据传输方法可以应用于终端。示例性的,该终端可以为平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobile PersonalComputer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等设备,也可以是图1所示的手机100,本申请实施例中对终端的具体形式不做特殊限制。
如图1所示,本申请实施例中的终端可以为手机100。下面以手机100为例对实施例进行具体说明。应该理解的是,图示手机100仅是终端的一个范例,并且手机100可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
如图1所示,手机100可以包括:处理器101、射频(radio frequency,RF)电路102、存储器103、触摸屏104、蓝牙装置105、一个或多个传感器106、Wi-Fi 107、定位装置108、音频电路109、外设接口110、电源装置111以及指纹识别器112等部件。这些部件可通过一根或多根通信总线或信号线(图1中未示出)进行通信。本领域技术人员可以理解,图1中示出的硬件结构并不构成对手机100的限定,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对手机100的各个部件进行具体的介绍:
处理器101是手机100的控制中心,利用各种接口和线路连接手机100的各个部分,通过运行或执行存储在存储器103内的应用程序,以及调用存储在存储器103内的数据和指令,执行手机100的各种功能和处理数据。在一些实施例中,处理器101可包括一个或多个处理单元;处理器101还可以集成应用处理器和调制解调处理器;其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器101中。举例来说,处理器101可以是多核处理器。
射频电路102可用于在收发信息或通话过程中,无线信号的接收和发送。具体地,射频电路102可以将基站的下行数据接收后,给处理器101处理;另外,将涉及上行的数据发送给基站。通常,射频电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频电路102还可以通过无线通信和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统、通用分组无线服务、码分多址、宽带码分多址、长期演进、电子邮件、短信服务等。
存储器103用于存储应用程序以及数据,处理器101通过运行存储在存储器103的应用程序以及数据,执行手机100的各种功能以及数据处理。存储器103可以包括存储程序区以及存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等);存储数据区可以存储根据使用手机100时所创建的数据(比如音频数据、电话本等)。此外,存储器103可以包括高速随机存取存储器,还可以包括非易失存储器,例如磁盘存储器件、闪存器件或其他存储器件等。存储器103可以存储各种操作系统,例如苹果公司所开发的操作系统,谷歌公司所开发的操作系统等。
触摸屏104可以包括触敏表面104-1和显示器104-2。
其中,触敏表面104-1(例如触控面板)可采集手机100的用户在其上或附近的触摸事件(比如用户使用手指、触控笔等任何适合的物体在触敏表面104-1上或在触敏表面104-1附近的操作),并将采集到的触摸信息发送给其他器件例如处理器101。触敏表面104-1可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再发送给处理器101,触摸控制器还可以接收处理器101发送的指令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型来实现触敏表面104-1。
显示器(也称为显示屏)104-2可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单。可以采用液晶显示器、有机发光二极管等形式来配置显示器104-2。触敏表面104-1可以覆盖在显示器104-2之上,当触敏表面104-1检测到在其上或附近的触摸事件后,传送给处理器101以确定触摸事件的类型,随后处理器101可以根据触摸事件的类型在显示器104-2上提供相应的视觉输出。虽然在图1中,触敏表面104-1与显示屏104-2是作为两个独立的部件来实现手机100的输入和输出功能,但是在某些实施例中,可以将触敏表面104-1与显示屏104-2集成而实现手机100的输入和输出功能。可以理解的是,触摸屏104是由多层材料堆叠而成,本申请实施例中只展示出了触敏表面(层)和显示屏(层),其他层在本申请实施例中不予记载。另外,在本申请其他一些实施例中,触敏表面104-1可以覆盖在显示器104-2之上,并且触敏表面104-1的尺寸大于显示屏104-2的尺寸,使得显示屏104-2全部覆盖在触敏表面104-1下面,或者,上述触敏表面104-1可以以全面板的形式配置在手机100的正面,也即用户在手机100正面的触摸均能被手机感知,这样就可以实现手机正面的全触控体验。在其他一些实施例中,触敏表面104-1以全面板的形式配置在手机100的正面,显示屏104-2也可以以全面板的形式配置在手机100的正面,这样在手机的正面就能够实现无边框的结构。在本申请其他一些实施例中,触摸屏104还可以包括一组或多组传感器阵列,用于触摸屏104在感测用户在其上的触摸事件的同时也可以感测到用户在其上施加的压力等。
手机100还可以包括蓝牙装置105,用于实现手机100与其他短距离的终端(例如手机、智能手表等)之间的数据交换。本申请实施例中的蓝牙装置可以是集成电路或者蓝牙芯片等。
手机100还可以包括至少一种传感器106,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器。其中,环境光传感器可根据环境光线的明暗来调节触摸屏104的显示器的亮度,接近传感器可在手机100移动到耳边时,关闭显示器的电源。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机100还可配置的指纹识别器件、陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不予赘述。
Wi-Fi 107,用于为手机100提供遵循Wi-Fi相关标准协议的网络接入,手机100可以通过Wi-Fi 107接入到Wi-Fi接入点,进而帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。在其他一些实施例中,该Wi-Fi 107也可以作为Wi-Fi无线接入点,可以为其他终端提供Wi-Fi网络接入。
定位装置108,用于为手机100提供地理位置。可以理解的是,该定位装置108具体可以是全球定位系统(global positioning system,GPS)、北斗卫星导航系统等定位系统的接收器。定位装置108在接收到上述定位系统发送的地理位置后,将该信息发送给处理器101进行处理,或者发送给存储器103进行保存。在另外的一些实施例中,该定位装置108可以是辅助全球卫星定位系统(assisted global positioning system,AGPS)的接收器,AGPS是一种在一定辅助配合下进行GPS定位的运行方式,它可以利用基站的信号,配合GPS卫星信号,可以让手机100定位的速度更快;在AGPS系统中,该定位装置108可通过与辅助定位服务器(例如手机定位服务器)的通信而获得定位辅助。AGPS系统通过作为辅助服务器来协助定位装置108完成测距和定位服务,在这种情况下,辅助定位服务器通过无线通信网络与终端例如手机100的定位装置108(即GPS接收器)通信而提供定位协助。
音频电路109、扬声器113、麦克风114可提供用户与手机100之间的音频接口。音频电路109可将接收到的音频数据转换后的电信号,传输到扬声器113,由扬声器113转换为声音信号输出;另一方面,麦克风114将收集的声音信号转换为电信号,由音频电路109接收后转换为音频数据,再将音频数据输出至RF电路102以发送给比如另一手机,或者将音频数据输出至存储器103以便进一步处理。
外设接口110,用于为外部的输入/输出设备(例如键盘、鼠标、外接显示器、外部存储器、用户识别模块卡等)提供各种接口。例如通过通用串行总线接口与鼠标连接,通过用户识别模块卡卡槽上的金属触点与电信运营商提供的用户识别模块(subscriberidentity module,SIM)卡电连接。外设接口110可以被用来将上述外部的输入/输出外围设备耦接到处理器101和存储器103。
手机100还可以包括给各个部件供电的电源装置111(比如电池和电源管理芯片),电池可以通过电源管理芯片与处理器101逻辑相连,从而通过电源装置111实现管理充电、放电、以及功耗管理等功能。
尽管图1未示出,手机100还可以包括摄像头、闪光灯、微型投影装置、近场通信(near field communication,NFC)装置等,在此不予赘述。
在本申请实施例中,两个终端(例如手机A和手机B)之间可以基于有线连接进行数据传输,也可以基于无线连接进行数据传输,还可以同时基于有线连接和无线连接进行数据传输。
例如,手机A和手机B中均具有Wi-Fi功能。如图2所示,手机A可通过其Wi-Fi接入到某一Wi-Fi接入点,手机B也可通过其Wi-Fi接入到该Wi-Fi接入点,这样,手机A与手机B就可以进行数据传输。当然,手机A和手机B也可通过各自的Wi-Fi建立WLAN直连,此时在手机A与手机B之间传输数据时无需额外通过Wi-Fi接入点转发。又或者,手机A(或手机B)也可以作为Wi-Fi接入点与另一手机建立无线连接,从而使用该无线连接实现数据传输。当然,手机A和手机B也可以通过蓝牙、NFC或4G网络、5G网络等方式建立无线连接,本申请实施例对此不做任何限制。
又例如,如果手机A和手机B中均具有USB接口(USB接口为外设接口的一种)。仍如图2所示,可使用与手机A和手机B的USB接口均适配的USB数据线201建立手机A和手机B之间的有线连接。
其中,上述USB接口的类型具体可以为USB Type A接口、USB Type B接口、MicroUSB接口、Mini USB接口或者USB Type C接口等,本申请实施例对此不做任何限制。
其中,上述数据线201两端的接口需要分别与手机A和手机B的USB接口适配。例如,如果手机A和手机B的USB接口均为USB Type C接口,那么,可以使用Type C to Type C(C-to-C)的直连数据线连接手机A和手机B的USB接口。或者,当数据线201两端的接口不是USBType C接口时,例如,USB数据线201的一端为USB Type C接口,而USB数据线201的另一端为USB Type A接口。此时,可以通过OTG(On The Go)连接器将USB数据线201的USB Type A接口转换为USB Type C接口,进而实现手机A和手机B之间的有线连接。
另外,手机A和手机B通过USB数据线201进行数据传输时可基于USB1.0、USB2.0、USB3.0或USB3.1等任意类型的USB规范,本申请实施例对此不做任何限制。
也就是说,在本申请实施例中,当用户需要在两个终端之间传输数据时,可在这两个终端之间建立有线连接和无线连接共两种传输通道。例如,用户希望将旧手机中的数据传输给新手机时,可使用相应接口的数据线连接旧手机和新手机以建立USB连接,并可通过Wi-Fi功能建立旧手机和新手机之间的Wi-Fi连接。这样,旧手机可通过USB连接和Wi-Fi连接这两种传输通道同时传输数据至新手机,从而大大提高终端之间的数据传输速度。
并且,由于旧手机和新手机之间具有USB连接和Wi-Fi连接这两种传输通道,因此,当任意一种传输通道中断(例如Wi-Fi连接断开)时,发送端还可继续使用另一传输通道(例如USB连接)传输数据,从而保证了数据传输时的稳定性。
示例性地,在手机100的存储器120中可以存储操作系统,该操作系统是一个以Linux为基础的移动设备操作系统,并结合手机100中的上述硬件实现各种各样的功能。下面,将详细说明该存储的操作系统的软件架构。需要说明的是,本申请实施例仅以操作系统为示例来说明终端要实现本实施例的技术方案的所需的软件环境,本领域技术人员可以理解,本申请实施例也可以以其它操作系统来实现,例如ios操作系统。
1、应用程序(Applications)层
应用程序层是操作系统的最上一层,包括操作系统的原生应用程序,例如电子邮件客户端、短信、通话、日历、浏览器、联系人等。当然,对于开发者来说,开发者可以编写应用程序并安装到该层。
一般而言,应用程序可以使用Java语言开发,通过调用应用程序框架层所提供的应用程序编程接口(application programming interface,API)来完成。
2、应用程序框架(Application Framework)层
应用程序框架层主要是为开发者提供了可以访问应用程序所使用的各种API,开发者可以通过应用程序框架来与操作系统的底层(例如函数库、Linux内核等)进行交互,开发自己的应用程序。该应用程序框架主要是Android操作系统的一系列的服务和管理系统。应用程序框架主要包括如下基础服务:
活动管理器(Activity Manager):用来管理应用程序生命周期并提供常用的导航回退功能;
内容提供器(Content Providers):用来管理不同应用程序间的数据共享和访问;
通知管理器(Notification Manager):用于控制应用程序在状态栏、锁屏界面等显示提示信息(例如警告(Alerts)、通知(Notifications)等)给用户;
剪贴板管理器(Clipboard Manager):主要提供应用程序内部或者应用程序之间的复制或粘贴功能;
视图(View):具有丰富的、可扩展的视图集合,可用于构建一个应用程序。它具体包括列表(list)、网格(grid)、文本(text)、按钮(button),以及图片(image)等多种类型。
位置管理器(Location Manager):主要是让应用程序可以访问到终端所处的地理位置。
3、函数库(Libraries)层
函数库层是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。函数库层包括一些由计算机程序C语言或C++语言编译的函数库,这些函数库能被操作系统中的不同的组件使用,它们通过应用程序框架层为开发者提供服务。具体地,函数库可以包括libc函数库,它是专门为基于embedded linux的设备定制的;函数库还可以包括多媒体库(Media Framework),该库支持多种编码格式的音频或视频的回放和录制,同时支持静态图像文件,以及常见的音频或视频编码格式。函数库还包括界面管理库(SurfaceManager),主要负责管理针对显示系统的访问,具体用于在执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示合成。
函数库层中还可以包括其他的用于实现手机各个功能的函数库,例如:SGL(Scalable Graphics Library):基于XML(Extensible Markup Language)文件的2D图形图像处理引擎;SSL(Secure Sockets Layer):位于TVP/IP协议与各种应用层协议之间,为数据通讯提供支持;OpenGL/ES:3D效果的支持;SQLite:关系型数据库引擎;Webkit:Web浏览器引擎;FreeType:位图及矢量字体支持;等等。
Android Runtime是一种在操作系统上的运行环境,是操作系统所使用的一种新的虚拟机。在Android Runtime中,采用AOT(Ahead-Of-Time)技术,应用程序在第一次安装的时候,该应用程序的字节码就会被预先编译成机器码,让应用程序成为真正的本地应用,之后再次运行,就省去了编译这一步骤,启动和执行都会变得更加快速。
在本申请其它一些实施例中,Android Runtime也可以由核心函数库(CoreLibraries)和Dalvik虚拟机(Dalvik Virtual Machine)代替。核心函数库提供了Java语言API中的大多数功能,主要通过Java原生界面(Java native interface,JNI)的方式向应用程序框架层提供调用底层程序库的接口。同时也包含了该操作系统的一些核心API,如android.os、android.net、android.media等等。Dalvik虚拟机使用一种JIT(Just-in-Time)的运行时编译的机制,每次启动一个进程都需要虚拟机在后台重新编译字节码,会对启动速度有一定的影响。每一个应用程序都运行在是一个Dalvik虚拟机中的实例中,每一个Dalvik虚拟机实例都是一个独立的进程空间。Dalvik虚拟机设计成在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。需要提出的是Dalvik虚拟机依赖于Linux内核提供基本功能(线程、底层内存管理)。可以理解的是,Android Runtime、Dalvik属于不同类型的虚拟机,本领域技术人员可以在不同情况下选用不同形式的虚拟机。
4、Linux内核(Linux Kernel)层
该层提供操作系统的核心系统服务,如安全性、内存管理、进程管理、网络协议栈和驱动模型等都基于Linux内核。Linux内核同时也作为硬件和软件栈之间的抽象层。该层有许多与移动设备相关的驱动程序,主要的驱动有:显示驱动;基于Linux的帧缓冲驱动;作为输入设备的键盘驱动;基于内存技术设备的Flash驱动;照相机驱动;蓝牙驱动;Wi-Fi驱动;USB驱动等。
在本申请实施例中,仍如图3所示,应用程序层安装有一个或多个用于在终端之间传输数据的数据传输应用,例如,手机克隆APP、一键换机APP等。并且,应用程序框架层还包括Wi-Fi管理器(Wi-Fi Manager)和USB管理器(USB Manager)。以手机克隆APP为例,手机克隆APP可以通过调用相应的API与Wi-Fi Manager和USB Manager交互,这样在向用户提供数据传输服务时,可由手机克隆APP作为决策者的角色来控制Wi-Fi Manager和USB Manager,可以实现在Wi-Fi连接和USB连接上同时传输数据的双通道数据传输模式。
当应用程序层中的应用(例如手机克隆APP)需要使用Wi-Fi功能时,可通过Context.getSystemService(Context.WiFi_SERVICE)这一函数来调用应用程序框架层中的Wifi Manager,Wifi Manager又可以通过调用内核层中的Wifi驱动发现和管理其他使用Wi-Fi功能的设备,例如,打开或关闭Wi-Fi功能、扫描Wi-Fi网络,建立Wi-Fi连接等。
当应用程序层中的应用(例如手机克隆APP)需要使用USB功能时,可通过Context.getSystemService(Context.USB_SERVICE)这一函数来调用应用程序框架层中的USB Manager对象,USB Manager又可以通过调用内核层中的USB驱动发现和管理其他USB设备,例如,扫描USB设备、检测USB设备的插拔事件等。
其中,USB Manager在运行时可以有两种工作模式,一个是作为作为主设备时的USBHostManager模式,另一个是作为从设备时的USBDeviceManager模式。当终端(例如手机A)处于USBHostManager模式时,说明此时手机A的角色为USB主设备(host),手机A可向与其通过USB数据线相连的其他终端(例如手机B)供电,此时,手机B作为USB从设备(slave)运行USBDeviceManager模式。可以理解的是,USBDeviceManager模式和USBHostManager模式是一个相对的概念。以手机为例,当手机通过USB数据线与PC连接时,手机为USBDeviceManager模式,手机作为USB从设备,而当手机通过USB数据线与U盘连接时,手机为USBHostManager模式,手机作为USB主设备。
示例性的,USB Manager可以通过调用函数:public void setCurrentFunction(String function,boolean usbDataUnlocked)在USBDeviceManager模式与USBHostManager模式之间切换。当切换为USBDeviceManager模式时,USB Manager可执行函数:public ParcelFileDescriptor openAccessory(UsbAccessory accessory)去连接从设备;当切换为USBHostManager模式时,USB Manager可执行函数:publicUsbDeviceConnection openDevice(UsbDevice device)去连接并响应主设备发出的指令。
在USB OTG协议之前,USB数据线两端的主从关系一般是确定的,当某一终端与USB数据线上作为USB主设备的接口连接后,触发该终端的USB Manager切换为USBHostManager模式,由该终端扮演USB主设备的角色;当另一终端与USB数据线上作为USB从设备的接口连接后,触发该终端的USB Manager切换为USBDeviceManager模式,由该终端扮演USB从设备的角色。而USB OTG协议中引入了一种主机协商协议(Host Negotiation Protocol,简称HNP)的机制,基于这种机制,USB数据线两端设备在建立USB连接时可协商确定哪一方作为USB主设备,进而由USB主设备向另一方(即USB从设备)供电。因此,在使用支持HNP的USB数据线时均可通过上述协商机制确定USB数据线两端设备的主从关系。
需要说明的是,在USB Type-C规范中也沿用了上述主机协商协议的机制,基于USBType-C规范确定的USB主设备也可以称为Source设备,即通过VBUS或者VCONN供电的设备,而基于USB Type-C规范确定的USB从设备也可以称为Sink设备,即通过VBUS或者VCONN接受供电的设备。为方便描述,后续实施例中均以USB主设备和USB从设备为例进行说明。
在本申请实施例中,当用户打开手机A中的手机克隆APP,用户打开手机B中的手机克隆APP,手机克隆APP可提示用户与另一传输端(例如手机B)建立Wi-Fi连接和USB连接。进而,手机克隆APP可调用应用程序框架层的Wi-Fi Manager检测并完成与手机B的Wi-Fi连接,手机克隆APP可调用应用程序框架层的USB Manager检测并完成与手机B的USB连接。
那么,以手机A向手机B发送数据为例,手机A可以将用户选中的一部分数据通过上述Wi-Fi连接发送给手机B,并将用户选中的另一部分数据通过上述USB连接发送给手机B。这样的双通道数据传输方法可以显著提高数据的传输速度,并且,当USB连接(或Wi-Fi连接)断开时,手机A还可以通过另一条通道向手机B发送数据,即在数据传输过程中可以实现单通道传输和双通道传输的动态切换,从而提高数据传输过程中的数据稳定性。
为了便于理解,以下结合附图对本申请实施例提供的数据传输方法进行具体介绍。
图4为本申请实施例提供的一种数据传输方法的流程示意图。如图4所示,该数据传输方法可以包括:
S401、第一终端与第二终端建立无线连接。
S402、第一终端与第二终端建立USB连接。
以第一终端为用户的旧手机,第二终端为用户的新手机为例,当用户希望将旧手机中的数据拷贝到新手机上时,用户可分别打开新手机和旧手机上安装的手机克隆APP。
如图5所示,手机克隆APP的首页上显示有设置为旧手机的按钮501以及设置为新手机的按钮502。如图5中的(a)所示,如果检测到用户点击按钮501,则说明此时用户操作的终端为旧手机(即第一终端),后续可将第一终端作为发送端向与其连接的接收端(即第二终端)发送数据。如图5中的(b)所示,如果检测到用户点击按钮502,则说明此时用户操作的终端为新手机(即第二终端),后续可将第二终端作为接收端接收与其连接的发送端(即第一终端)发送的数据。
进一步地,第一终端检测到用户点击按钮501或第二终端检测到用户点击按钮502后,如图6所示,第一终端(或第二终端)可显示在新手机和旧手机之间建立无线连接(例如Wi-Fi连接)的提示601,以及在新手机和旧手机之间建立USB连接的提示602。其中,提示601和提示602还可以是二维码、动画、视频或语音等形式,本申请实施例对此不做任何限制。
那么,根据上述提示601,用户可以打开新手机和旧手机的Wi-Fi功能并接入同一Wi-Fi网络,从而建立新手机和旧手机之间的Wi-Fi连接。或者,用户也可以打开新手机和旧手机的WLAN直连功能,通过WLAN直连功能建立新手机和旧手机之间的Wi-Fi连接。又或者,用户也可以将新手机(或旧手机)设置为个人热点,进而操作另一终端接入该个人热点后建立新手机和旧手机之间的Wi-Fi连接。
示例性的,当第二终端检测到用户点击按钮502后,手机克隆APP可调用Wi-FiManager自动建立个人热点,并将该个人热点的名称和密码等信息以二维码等方式显示出来。那么,用户操作第一终端扫描该二维码后即可与第二终端建立Wi-Fi连接。在这种情况下,第一终端和第二终端可以不显示提示601。
又或者,当第一终端检测到用户点击按钮501,第二终端检测到用户点击按钮502后,如果某一终端(例如第一终端)已经开启Wi-Fi功能,并接入某一Wi-Fi网络,由于此时第一终端内的手机克隆APP无法确定当前Wi-Fi连接的另一端是否为准备接收数据的新手机(即第二终端),因此,手机克隆APP可指示第一终端向当前Wi-Fi连接的另一端发送身份确认消息,例如,询问当前Wi-Fi连接的另一端是否为准备接收数据的新手机。那么,如果第一终端接收到另一端的正确响应,则说明当前第一终端已经与第二终端建立的Wi-Fi连接,此时第一终端和第二终端可以不显示上述提示601。
相应的,根据上述提示602,用户可以使用与新手机和旧手机均适配的USB数据线连接新手机和旧手机,以建立第一终端与第二终端之间的USB连接。例如,新手机和旧手机的USB接口均为USB Type-C类型时,用户可以将C-to-C直连数据线两端的接口分别插入新手机和旧手机的USB接口内。新手机和旧手机检测到这一连接事件后,可基于上述主机协商协议(HNP)确定其中一方为USB主设备,另一方为USB从设备。例如,如果新手机首先检测到旧手机与其通过USB数据线进行连接,则新手机可通知旧手机:新手机为USB主设备,旧手机为USB从设备。当旧手机向新手机发送确认消息确认这一主从关系后,新手机可按照USB主设备模式运行,而旧手机可按照USB从设备模式运行。此时,可由USB主设备(例如新手机)通过USB数据线向USB从设备(例如旧手机)供电。
又或者,如果在第一终端检测到用户点击按钮501,第二终端检测到用户点击按钮502后,某一终端(例如第一终端)已经检测到与其他USB设备连接,由于此时第一终端内的手机克隆APP可能无法确定当前他USB连接的另一端是否为准备接收数据的新手机(即第二终端),因此,手机克隆APP可指示第一终端向当前他USB连接的另一端发送身份确认消息,例如,询问当前他USB连接的另一端是否为准备接收数据的新手机。那么,如果第一终端接收到另一端的正确响应,则说明当前第一终端已经与第二终端建立的他USB连接,此时第一终端和第二终端无需显示上述提示602。
第一终端与第二终端建立USB连接之后,第一终端内应用程序框架层中的USBManager可向应用程序层中的手机克隆APP上报USB连接已建立这一事件。同样,第一终端与第二终端建立Wi-Fi连接之后,第一终端内应用程序框架层中的WiFiManager可向应用程序层中的手机克隆APP上报Wi-Fi连接已建立这一事件。那么,手机克隆APP确定当前已建立了两条传输通道后,便可执行下述步骤S402-S404使用这两条传输通道进行数据传输,提高手机克隆时的数据传输速度。
另外,由于第一终端与第二终端建立USB连接之后,作为USB主设备的终端向作为USB从设备的终端供电,因此USB连接两端设备的电量会发生变化。那么,第一终端可获取第二终端的电量情况以及自身的电量情况。或者,可由第二终端获取第一终端的电量情况以及自身的电量情况,本申请实施例对此不做任何限制。其中,第一终端或第二终端可通过已建立的USB连接获取对方的电量情况,也可通过已建立的Wi-Fi连接获取对方的电量情况。
以第一终端获取自身的电量情况举例,手机克隆APP可以预先在应用程序框架层的PowerManager(电源管理器)注册触发PowerManager上报电量的条件,例如,请求PowerManager周期性(例如每5分钟)的上报电量剩余量给手机克隆APP,或者,请求PowerManager在检测到电量每降低10%后向手机克隆APP上报当前的电量剩余量等。那么,PowerManager检测到终端的电量符合手机克隆APP预先注册的条件时,可将当前的电量剩余量上报给手机克隆APP。类似的,第二终端也可以按照上述方法获取自身的电量情况,进而将第二终端的电量情况通过已建立的Wi-Fi连接或USB连接发送给第一终端。
当然,PowerManager也可以向手机克隆APP开放电量查询的接口,手机克隆APP也可以通过调用该接口主动获取当前的电量情况,本申请实施例对此不做任何限制。
需要说明的是,本实施例中是以第一终端与第二终端建立了无线连接和USB连接之后进行数据传输为例说明的。可以理解的是,第一终端还可以在与第二终端建立了无线连接之后便开始进行数据传输,在数据传输的过程中可再建立第一终端与第二终端之间的USB连接。或者,第一终端还可以在与第二终端建立了USB连接之后便开始进行数据传输,在数据传输的过程中可再建立第一终端与第二终端之间的无线连接,后续实施例中将对此进行详细阐述,故此处不再赘述。
可以理解的是,上述S401和S402中,也可以先执行S402,后执行S401。本实施例中对S401和S402步骤的先后顺序不做限定。
S403、第一终端接收用户在第一终端中选中待传输数据的第一输入。
在步骤S403中,当第一终端作为旧手机(即发送端)检测到第一终端与第二终端之间的无线连接和USB连接已经建立后,如图7A所示,在第一终端内运行的手机克隆APP可跳转至界面701。用户可以在界面701中可选择需要向第二终端(即接收端)发送的待传输数据。例如,上述界面701中包括联系人、短信、照片、通话记录、音乐以及应用等候选数据。其中,某一应用作为候选数据时具体可以包括其应用程序本身,还可以包括用户在使用该应用过程中产生的记录数据和储存的文件,例如联系人头像、缓冲和下载好的图片等。那么,用户可以点击界面701中待传输的联系人、短信、照片、通话记录、音乐以及应用中的至少一项选中待传输数据,此时,用户在界面701中的选中候选数据可作为上述第一输入。
当第一终端检测到用户在界面701中执行选中待传输数据的第一输入后,可进一步确定待传输数据的传输方式。例如,第一终端可将待传输数据中的一部分(例如第一数据)通过上述无线连接传输,将待传输数据中的另一部分(例如第二数据)通过上述USB连接传输。
示例性的,第一终端可基于第一终端与第二终端之间无线连接的网络质量确定上述第一数据的数据量。例如,当第一终端与第二终端之间的Wi-Fi网络速度小于阈值时,可将小部分数据确定为通过Wi-Fi连接的方式传输,将剩余的大部分数据确定为通过USB连接的方式传输,这样可以提高整个待传输数据的传输速度。
又或者,第一终端可基于第一终端和第二终端的电量确定上述第一数据的数据量。例如,当检测到USB数据线连接的某一终端的电量小于20%或者第一终端和第二终端之间的电量差大于60%时,由于终端使用Wi-Fi连接传输数据时的耗电量更大,因此,第一终端可将小部分数据确定为通过Wi-Fi连接的方式传输,将剩余的大部分数据确定为通过USB连接的方式传输,这样可以降低数据传输过程中某一终端的耗电量过大而导致终端关机,使得数据传输中断的几率。
当然,如果检测到第一终端和第二终端之间Wi-Fi连接的网络质量较好而USB连接的传输速度较慢,例如,第一终端和第二终端之间的USB连接是基于传输速度较慢的USB1.1规范实现的,那么,第一终端可将大部分数据确定为通过Wi-Fi连接的方式传输,将剩余的小部分数据确定为通过USB连接的方式传输,从而提高待传输数据的传输速度。其中,USB1.1中所支持的最低速度(Low Speed)为1.5Mbits/s,全速(Full Speed)为12Mbits/s,USB2.0全速时的高速度(High Speed)可达到480Mbits/s,而最新的USB 3.0可支持5Gbits/s的超高速(Super Speed)传输。
在确定Wi-Fi连接和USB连接上传输的具体数据时,第一终端内的手机克隆APP可以将用户选中的待传输数据划分为多个数据块。例如,将1G的待传输数据按照1M的大小划分为1024个数据块,并按照划分时的顺序为每个数据块编号。这样,第一终端可以按照上述实施例中的方法确定通过Wi-Fi连接传输的数据块数目以及通过USB连接传输时的数据块数目。其中,通过Wi-Fi连接传输的数据块可以为第一数据,通过USB连接传输的数据块可以为第二数据。例如,在USB连接速度较快而Wi-Fi连接质量不好时,可通过USB连接传输800个数据块,同时通过Wi-Fi连接传输224个数据块。当然,手机克隆APP也可以基于电量情况、Wi-Fi网速以及USB的传输速度等因素在传输过程中动态的确定每一个数据块的传输方式。后续,第二终端接收到这两种发送方式发送的数据块后可以按照各个数据块的编号恢复上述1G的待传输数据。
另外,上述实施例中均以第一终端(例如第一终端内运行的手机克隆APP)自动确定待传输数据的传输方式为例说明的,在本申请的另一些实施例中,还可以由用户手动选择待传输数据的传输方式。
例如,如图7B中的(a)所示,用户在界面701中每选中一项待传输数据后均可弹出选择框703,使得用户可以在选择框703中选择该项待传输数据是通过Wi-Fi连接传输还是通过USB连接传输。又例如,如图7B中的(b)所示,界面701中包括与Wi-Fi连接对应的区域704以及与USB连接对应的区域705。那么,用户可以将需要传输的每一项待传输数据拖入相应的区域中,以选择该项待传输数据的传输方式。例如,用户将联系人这一项待传输数据拖入区域704,即指示第一终端通过Wi-Fi连接传输该项待传输数据,此时,用户将联系人这一项待传输数据拖入区域704的操作可以作为上述第一输入。
S404、响应于用户在第一终端上执行的第二输入,第一终端通过上述无线连接和USB连接向第二终端发送上述待传输数据。
在步骤S404中,如果检测到用户在第一终端上执行发送上述待传输数据的第二输入,例如,用户点击上述界面701中的发送按钮702,此时,第一终端作为旧手机(即发送端)可通过已建立的无线连接(例如Wi-Fi连接)向第二终端传输一部分待传输数据(即第一数据)。同时,第一终端还可通过已建立的USB连接向第二终端传输另一部分待传输数据(即第二数据)。这样,第一终端可以通过USB连接和Wi-Fi连接这两种传输通道同时传输数据至新手机,从而大大提高终端之间的数据传输速度。
需要说明的是,发送上述待传输数据的第二输入与上述选中待输入数据的第一输入可以是用户执行的两个独立手势。例如,上述第一输入可以是用户点击界面701中的联系人等候选数据的单击手势,而第二输入是用户点击发送按钮702的单击手势。
或者,上述第二输入与第一输入也可以是用户执行的一个手势中的两个阶段。如图8中的(a)所示,如果检测到用户手指长按联系人801这项待传输数据(即第一输入),则第一终端可确认用户选中联系人801作为待传输数据,此时,如图8中的(b)所示,如果检测到用户手指没有离开触摸屏,而是继续将联系人801这项待传输数据拖入发送区域802后松开(即第二输入),则第一终端可确认用户希望发送联系人801这项待传输数据,并执行步骤S404。
可以理解的,续请参阅图8中的(b),如果检测到用户手指长按联系人801这项待传输数据,在用户手机没有离开触摸屏,而是继续将联系人801这项待传输数据拖入发送区域802(即,用户长按联系人并拖入发送区域未松开可以理解为第一输入),然后松开(可以理解为第二输入),则第一终端可确认用户希望发送联系人801这项待传输数据,执行步骤S404。
需要说明的是,上述实施例中均以第一终端和第二终端安装并运行手机克隆APP举例说明的,可以理解的是,第一终端和第二终端也可以将上述数据传输的功能集成在自身的设置功能内。以第一终端为例,如图9中的(a)所示,第一终端的设置界面901中包含数据拷贝902这一选项,当用户打开数据拷贝902这一选项后,如果检测到Wi-Fi连接和USB连接已经建立,则如图9中的(b)所示,第一终端可显示联系人、短信、照片、通话记录、音乐以及应用等至少一项候选数据供用户选择。当用户从这些候选数据中选中了需要传输的待传输数据后,可点击发送按钮903触发第一终端按照上述步骤S404将待传输数据通过Wi-Fi连接和USB连接发送给第二终端。
进一步地,如图10中的(a)所示,在第一终端与第二终端进行数据传输的过程中,如果检测到Wi-Fi连接断开,则第一终端内的Wi-FiManager可向手机克隆APP上报Wi-Fi连接断开这一事件。此时,手机克隆APP可以将上述第一数据的传输方式从通过Wi-Fi连接传输转换为通过USB连接传输。并且,第一终端或第二终端上均可向用户提示Wi-Fi连接已经断开,或者第一终端和第二终端中一个终端向用户提示Wi-Fi连接已经断开。相应的,如图10中的(b)所示,在第一终端与第二终端进行数据传输的过程中,如果检测到USB连接断开,则第一终端内的USBManager可向手机克隆APP上报Wi-Fi连接断开这一事件。此时,手机克隆APP可以将上述第二数据的传输方式从通过USB连接传输转换为通过Wi-Fi连接传输。并且,第一终端或第二终端均可向用户提示USB连接已经断开,或者第一终端和第二终端中一个终端向用户提示USB连接已经断开。
当然,如果Wi-Fi连接断开后,第一终端与第二终端又重新建立了Wi-Fi连接,或者,USB连接断开后,第一终端与第二终端又重新建立了USB连接,则第一终端可以恢复使用USB连接和Wi-Fi连接这两种传输通道同时传输当前剩余的待传输数据至第二终端,从而实现双传输通道和单传输通道之间的动态切换。
需要说明的是,上述Wi-Fi连接断开或USB连接断开可以是用户手动操作第一终端(或第二终端)断开的。例如,用户关闭Wi-Fi功能或者用户拔掉第一终端与第二终端之间的USB数据线。或者,上述Wi-Fi连接断开或USB连接断开也可以是第一终端(或第二终端)自动断开的。例如,可以在第一终端或第二终端检测到Wi-Fi网络质量较差,或者某一终端的电量较低时自动断开已建立的Wi-Fi连接,本申请实施例对此不做任何限制。
另外,在第一终端与第二终端进行数据传输的过程中,如果第一终端与第二终端之间的电量差大于第一阈值,且电量较低一方为进行供电的USB主设备,则USB主设备如果继续向USB从设备供电的话很可能会耗尽USB主设备的电量并导致数据传输中断。
因此,在本申请提供的实施例中,当USB主设备与USB从设备(即第一终端与第二终端)之间的电量差大于第一阈值,且USB主设备为电量较低的一方时,USB数据线两端的第一终端和第二终端可自动切换当前USB连接的主从关系。即将电量较低的USB主设备切换为接受供电的USB从设备,并将电量较高的USB从设备切换为供电的USB主设备。从而及时对电量较低的一方进行及时补电,避免因一方电量过低而导致传输中断的问题,提高数据传输过程的稳定性。
其中,进行供电的USB主设备可以是第一终端,也可以是第二终端;相应的,当USB主设备是第一终端时,接受供电的USB从设备为第二终端,当USB主设备是第二终端时,接受供电的USB从设备为第一终端。
示例性的,在第一终端与第二终端建立USB连接(即步骤S402)时,第一终端与第二终端之间的主从关系已经确定。例如,第一终端为USB主设备,第二终端为USB从设备。那么,第一终端可以获取第二终端(即USB从设备)的电量情况以及自身的电量情况,例如,第一终端内运行的手机克隆APP可周期性的获取第二终端的电量情况以及自身的电量情况,并计算USB主设备与USB从设备之间的电量差。
如图11中的(a)所示,USB主设备的电量为25%,而USB从设备的电量为80%。此时,USB主设备与USB从设备之间的电量差大于第一阈值(例如50%)。那么,USB主设备内的手机克隆APP可与USB从设备内的手机克隆APP交互,以确认双方准备切换当前的主从关系切换。进而,USB主设备内的手机克隆APP可调用应用程序框架层中的USB Manager,将USBManager从USBHostManager模式切换为USBDeviceManager模式,此时,如图11中的(b)所示,第一终端从USB主设备切换为USB从设备。另外,USB从设备内的手机克隆APP也可调用应用程序框架层中的USB Manager,将USB Manager从USBDeviceManager模式切换为USBHostManager模式,此时,如图11中的(b)所示,第二终端从USB从设备切换为USB主设备,切换为USB主设备的第二终端向切换为USB从设备的第一终端供电。
需要说明的是,当第二终端切换为USB主设备,第一终端切换为USB从设备后,虽然USB数据线两端的主从关系进行了切换,但第一终端与第二终端之间的数据传输方向并没有改变,仍然是第一终端向第二终端发送待传输数据。这样在不干扰数据传输的同时,可以实现USB数据线两端设备的电量均衡,避免数据传输时一方电量过低导致的传输中断问题。
在本申请的一些实施例中,第一终端与第二终端之间的USB数据线可以为C-to-C的直连数据线。由于C-to-C的直连数据线支持上述主机协商协议(HNP)所规定的协商机制,因此,当USB主设备与USB从设备之间的电量差大于第一阈值,且USB主设备为电量较低的一方时,USB主设备与USB从设备可基于HNP进行协商,确定USB主设备与USB从设备的切换时机、切换后的角色等协商结果,进而按照该协商结果动态的切换自身的主从关系。
在本申请的另一些实施例中,第一终端与第二终端之间的USB数据线也可以为非C-to-C的直连数据线。例如,第一终端与第二终端之间的USB数据线可以是通过OTG连接器转接后的USB数据线。由于非C-to-C的直连数据线可能不支持上述主机协商协议的机制,因此,当USB主设备与USB从设备之间的电量差大于第一阈值,且USB主设备为电量较低的一方时,USB主设备可向USB从设备发送切换指示,并在接收到USB从设备的响应后自动将与其相连的USB数据线下电,进而将原本运行的USB主设备模式强制切换为USB从设备模式。而原本的USB从设备在接收到USB主设备发送的切换指示后,也可自动将与其相连的USB数据线下电,将原本运行的USB从设备模式强制切换为USB主设备模式。切换后的USB主设备和USB从设备重新对USB数据线上电后可恢复第一终端与第二终端之间的USB连接,实现USB数据线两端设备的主从关系切换。
另外,在USB主设备和USB从设备进行主从关系切换的过程中,可暂停使用USB连接进行数据传输,避免由于主从关系切换而导致数据传输出错的现象。
需要说明的是,上述实施例中均以USB主设备作为执行主体阐述获取USB主设备和USB从设备之间的电量差,并根据该电量差切换自身的主从关系,同时指示USB从设备进行主从关系切换等过程。可以理解的是,也可以由USB从设备作为执行主体获取USB主设备和USB从设备之间的电量差,并根据该电量差切换自身的主从关系,同时指示USB主设备进行主从关系切换,本申请实施例对此不做任何限制。
另外,当第一终端与第二终端建立无线连接(例如Wi-Fi连接)后,Wi-Fi连接的两端设备也可能具有主从关系。例如,如果第一终端打开了个人热点,第二终端可将第一终端作为一个Wi-Fi接入点接入第一终端的个人热点。此时,第一终端可作为Wi-Fi主设备,而第二终端可作为Wi-Fi从设备。又例如,如果第一终端与第二终端之间采用Wi-Fi直连的方式建立Wi-Fi连接,那么,在建立Wi-Fi连接时可基于Wi-Fi直连的相关协议规范,例如802.11z协议,将某一终端(例如第一终端)确定为group owner(即Wi-Fi主设备),那么,第二终端可作为group client(即Wi-Fi从设备)连接group owner,从而建立第一终端与第二终端之间的Wi-Fi连接。
一般而言,Wi-Fi主设备相比于Wi-Fi从设备在传输数据的过程中耗电量更多。因此,为了避免发生因Wi-Fi主设备在传输数据的过程耗电量过多而导致传输中断的问题,当Wi-Fi主设备与Wi-Fi从设备之间的电量差大于第二阈值(第二阈值与上述第一阈值可以相同,也可以不同),且Wi-Fi主设备为电量较低的一方时,第一终端和第二终端可自动切换当前Wi-Fi连接的主从关系。即将当前电量较低的Wi-Fi主设备切换为耗电量较小的Wi-Fi从设备,并将电量较高的Wi-Fi从设备切换为耗电量较大Wi-Fi主设备,从而缓解Wi-Fi主设备耗电过快而导致传输中断的问题。
当然,如果Wi-Fi从设备在传输数据的过程中耗电量更多,则可以在Wi-Fi主设备与Wi-Fi从设备之间的电量差大于第二阈值(第二阈值与上述第一阈值相同或不同),且Wi-Fi从设备为电量较低的一方时,由第一终端和第二终端自动切换当前Wi-Fi连接的主从关系,从而缓解Wi-Fi从设备耗电过快而导致传输中断的问题。可以由第一终端执行Wi-Fi连接的主从关系切换,当然也可以由第二终端执行Wi-Fi连接的主从关系切换。
也就是说,在本申请实施例中可以基于第一终端与第二终端的电量情况,控制电量较多的一方承担传输过程中更加耗电的角色,从而降低数据传输过程中一方电量耗尽而导致传输中断的几率。
与上述实施例中切换USB连接的主从关系类似的,如图12中的(a)所示,Wi-Fi主设备的电量为32%,而Wi-Fi从设备的电量为80%。此时,Wi-Fi主设备与Wi-Fi从设备之间的电量差大于第二阈值(例如40%)。那么,Wi-Fi主设备内的手机克隆APP可与Wi-Fi从设备内的手机克隆APP交互,以确认双方切换当前Wi-Fi连接的主从关系切换。
进而,Wi-Fi主设备内的手机克隆APP可调用应用程序框架层中的Wi-Fi Manager,由Wi-Fi Manager将当前的运行模式切换为Wi-Fi从设备模式,此时,如图12中的(b)所示,第一终端从Wi-Fi主设备切换为Wi-Fi从设备。另外,Wi-Fi从设备内的手机克隆APP也可调用应用程序框架层中的Wi-Fi Manager,由Wi-Fi Manager将当前的运行模式切换为Wi-Fi主设备模式,此时,如图12中的(b)所示,第二终端从Wi-Fi从设备切换为Wi-Fi主设备。
这样,原本电量较低的Wi-Fi主设备切换为Wi-Fi从设备后,其耗电量可相应降低,进而可降低数据传输过程中一方电量耗尽而导致传输中断的几率。
需要说明的是,上述实施例中均是以第一终端作为Wi-Fi主设备切换为Wi-Fi从设备举例说明的,可以理解的是,也可以由第二终端作为Wi-Fi主设备切换为Wi-Fi从设备,本申请实施例对此不做任何限制。
图13为本申请另一些实施例提供的一种数据传输方法的流程示意图。如图13所示,该数据传输方法可以包括:
S1001、第一终端与第二终端建立USB连接。
其中,第一终端与第二终端建立USB连接的具体方法可参见上述步骤S402的相关描述,此处不再赘述。可以理解的,在S1001之前,可以打开第一终端的手机克隆APP,打开第二终端的手机克隆APP。
S1002、第一终端接收用户在第一终端中选中待传输数据的第一输入。
与上述步骤S403不同的是,第一终端可以在检测到USB连接已经建立后,可将USB连接已经建立的消息上报第一终端内运行的手机克隆APP,手机克隆APP无需在确认Wi-Fi连接已建立的情况下便可触发手机克隆APP跳转至图7A或图7B所示的界面701。进而,第一终端可接收用户在界面701选中待传输数据的第一输入。当然,也可以基于第一终端的设置界面901中包含数据拷贝902这一选项,当用户打开数据拷贝902这一选项后,如图9中的(b)所示,第一终端可显示联系人、短信、照片、通话记录、音乐以及应用等至少一项候选数据供用户选择,用户从这些候选数据中选中需要传输的待传输数据可以为第一输入。
S1003、响应于用户在第一终端上执行的第二输入,第一终端通过USB连接向第二终端发送上述待传输数据。
在步骤S1003中,如果检测到用户在第一终端上执行发送上述待传输数据的第二输入,例如,用户点击上述界面701中的发送按钮702,此时,由于第一终端与第二终端之间目前只有通过USB连接的传输通道,因此,第一终端可通过该USB连接向第二终端发送用户选中的待传输数据。由于USB连接的稳定性以及数据传输速度较高,因此,相比于通过Wi-Fi连接向第二终端发送上述待传输数据,通过USB连接向第二终端发送待传输数据的速度和稳定性更高。
S1004(可选的)、第一终端与第二终端建立无线连接。例如,第一终端与第二终端建立Wi-Fi连接。
S1005(可选的)、第一终端通过USB连接和无线连接向第二终端发送待传输数据。
以Wi-Fi连接作为无线连接举例,在执行上述步骤S1001-S1003的过程中,第一终端也可以检测是否与第二终端建立Wi-Fi连接,或者,第二终端也可以检测是否与第一终端建立Wi-Fi连接。
那么,如果在执行步骤S 1003之前,即在第一终端通过USB连接发送上述待传输数据之前,检测到第一终端与第二终端建立了无线连接,则按照上述步骤S404,可由第一终端作为发送端通过已建立的Wi-Fi连接向第二终端传输一部分待传输数据(即第一数据)。同时,第一终端还可通过已建立的USB连接向第二终端传输另一部分待传输数据(即第二数据)。这样,第一终端可以通过USB连接和Wi-Fi连接这两种传输通道同时传输数据至第二终端,从而大大提高终端之间的数据传输速度。
相应的,如果在执行步骤S1003的过程中,即在第一终端通过USB连接发送上述待传输数据的过程中,检测到第一终端与第二终端建立了无线连接。此时,如图14所示,第一终端(或第二终端)可提示用户是否同时启用Wi-Fi连接和USB连接传输。那么,如果检测到用户点击确定按钮1101,则第一终端可以将当前剩余的待传输数据划分为两部分,一部分继续通过上述USB连接发送给第二终端,另一部分可通过新建立的Wi-Fi连接发送给第二终端,实现数据传输过程中双传输通道和单传输通道之间的动态切换。
可选的,在检测到用户点击确定按钮1101,第一终端也可以将当前剩余的待传输数据通过无线连接,例如通过Wi-Fi连接,发送给第二终端。第一终端可以不通过USB连接传输待传输的数据给第二终端。
当然,如果在第一终端通过USB连接发送上述待传输数据的过程中,检测到第一终端与第二终端建立了无线连接,第一终端也可在用户无感知的情况下,默认采用双传输通道的方式向第二终端发送未发送的上述待传输数据,本申请实施例对此不做任何限制。
另外,在第一终端向第二终端发送待传输数据的过程中,当USB主设备与USB从设备之间的电量差大于第一阈值,且USB主设备为电量较低的一方时,USB数据线两端的第一终端和第二终端可切换当前USB连接的主从关系,从而及时对电量较低的一方进行补电,避免因一方电量过低而导致传输中断的问题,提高数据传输过程的稳定性。
类似的,在第一终端向第二终端发送待传输数据的过程中,当Wi-Fi主设备与Wi-Fi从设备之间的电量差大于第二阈值,且Wi-Fi主设备为电量较低的一方时,第一终端和第二终端也可切换当前Wi-Fi连接的主从关系,从而缓解Wi-Fi主设备耗电过快而导致传输中断的问题。
其中,切换当前USB连接的主从关系,以及切换当前Wi-Fi连接的主从关系的具体方法可参见上述步骤S404中的相关描述,此处不再赘述。
需要说明的是,上述实施例中判断第一终端和第二终端的电量差是否满足主从关系切换条件时使用的第一阈值和第二阈值可以是本领域技术人员根据实际经验或实际应用场景设置的,也可以是第一终端或第二终端基于一定算法在数据传输过程中动态调整的,本申请实施例对此不做任何限制。
示例性的,以设置第一阈值的取值为例,由于第一终端和第二终端内的电量总和是一定的,那么,为了保证能够完成本次数据传输,第一终端(或第二终端)可以根据待传输数据的数据量以及当前USB连接和Wi-Fi连接的传输速度预估完成本次数据传输所需的预估电量。这样,基于该预估电量,第一终端(或第二终端)可动态设置第一阈值的取值,以保证完成本次数据传输后第一终端和第二终端的电量均不为零。
另外,由于用户使用手机克隆APP拷贝数据的目的是为了尽快使用新手机,且一般新手机的电量较低,因此,还可以适当减小第一阈值的取值,使得作为旧手机的第一终端可以尽快向新手机(第二终端)供电,保证完成本次数据传输后第二终端的电量大于第一终端的电量。
至此,上述步骤S1001-S1005阐述了第一终端先与第二终端建立无线连接,在基于该无线连接传输数据的同时,如果第一终端与第二终端又建立了USB连接,则第一终端通过USB连接和Wi-Fi连接这两种传输通道同时传输数据至第二终端的数据传输场景。
相应的,在本申请的另一些实施例中,第一终端也可先与第二终端建立USB连接,在基于该USB连接传输数据的同时,如果第一终端与第二终端又建立了无线连接,则第一终端仍然可以通过USB连接和Wi-Fi连接这两种传输通道同时传输数据至第二终端。此时,如图15所示,该数据传输方法可以包括:
S1201、第一终端与第二终端建立无线连接。例如,第一终端与第二终端建立Wi-Fi连接。
可以理解的,在第一终端与第二终端建立无线连接之前,可以打开第一终端的手机克隆APP,打开第二终端的手机克隆APP。
S1202、第一终端接收用户在第一终端中选中待传输数据的第一输入。
S1203、响应于用户在第一终端上执行的第二输入,第一终端通过无线连接向第二终端发送上述待传输数据。
与上述步骤S1001-S1003对应的,在步骤S1201-S1203中,如果用户打开了第一终端和第二终端的Wi-Fi功能并操作这两个终端建立了第一终端与第二终端之间的无线连接,则作为数据发送端的第一终端可以跳转至手机克隆APP的界面701,接收用户在界面701选中待传输数据的第一输入。进而,如果检测到用户点击上述界面701中的发送按钮702(即第二输入),由于第一终端与第二终端之间目前只有通过Wi-Fi连接的传输通道,因此,第一终端可通过该Wi-Fi连接向第二终端发送用户选中的待传输数据。
S1204(可选的)、第一终端与第二终端建立USB连接。
S1205(可选的)、第一终端通过USB连接和无线连接向第二终端发送未发送的上述待传输数据。
与上述步骤S1004-S1005对应的,如果在第一终端通过Wi-Fi连接发送上述待传输数据之前,检测到第一终端与第二终端建立了USB连接,则可按照上述步骤S404,由第一终端作为发送端通过Wi-Fi连接向第二终端传输一部分待传输数据(即第一数据)。同时,第一终端还可通过USB连接向第二终端传输另一部分待传输数据(即第二数据)。这样,第一终端可以通过USB连接和Wi-Fi连接这两种传输通道同时传输数据至第二终端,从而大大提高终端之间的数据传输速度。
相应的,如果在第一终端通过Wi-Fi连接发送上述待传输数据的过程中,检测到第一终端与第二终端建立了USB连接。此时,如图16所示,第一终端(或第二终端)可提示用户是否同时启用USB连接和无线连接进行数据传输。那么,如果检测到用户点击确定按钮1301,则第一终端可以将当前剩余的待传输数据划分为两部分,一部分继续通过上述USB连接发送给第二终端,另一部分可通过新建立的Wi-Fi连接发送给第二终端,实现数据传输过程中双传输通道和单传输通道之间的动态切换。
可选的,在第一终端与第二终端建立了USB连接,在检测到用户点击确定按钮1301,第一终端可以将当前剩余的待传输数据通过USB连接,发送给第二终端。第一终端可以不通过Wi-Fi连接传输待传输的数据给第二终端。
当然,在第一终端向第二终端发送待传输数据的过程中,也可以按照上述步骤S404的相关描述切换当前USB连接的主从关系,或者切换当前Wi-Fi连接的主从关系,本申请实施例对此不做任何限制。
如图17所示,本申请另外一些实施例公开了一种终端,该终端可以包括:触摸屏1701,其中,所述触摸屏1701可以包括触敏表面1706和显示屏1707;一个或多个处理器1702;存储器1703,可以存储一个或多个计算机程序1704。处理器1702与触摸屏1701和存储器1703连接,例如处理器1702与触摸屏1701和存储器1703通过总线连接。其中,该一个或多个处理器1702可以运行存储器1703存储的计算机程序1704,可以用于执行如图4、图13或图15中的相关方法步骤实现上述实施例中的数据传输方法。
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机程序,当上述处理器执行该计算机程序时,该终端执行图4、图13或图15中的相关方法步骤实现上述实施例中的数据传输方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行图4、图13或图15中的相关方法步骤实现上述实施例中的数据传输方法。
其中,本申请实施例提供的终端、计算机存储介质或者计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
可以理解的,基于说明书附图对本发明实施例做了说明。说明书中附图中的每一幅附图都可以理解是一个实施例。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。
Claims (17)
1.一种数据传输方法,应用于终端,其特征在于,所述方法包括:
所述终端与另一终端建立无线连接;
所述终端与所述另一终端建立通用串行总线USB连接;
所述终端显示第一界面,所述第一界面包括至少一项候选数据;
响应于用户在所述第一界面中的第一输入,从所述至少一项候选数据中选中待传输数据;所述待传输数据包括第一数据和第二数据,所述第一数据为需要通过所述USB连接传输的数据,所述第二数据为需要通过所述无线连接传输的数据;
所述终端根据所述终端与所述另一终端的电量确定所述第一数据的大小和所述第二数据的大小;其中,所述第一数据的大小大于所述第二数据的大小;
响应于用户在所述第一界面中的第二输入,所述终端通过所述无线连接和所述USB连接向所述另一终端发送所述待传输数据;
在所述终端与所述另一终端建立通用串行总线USB连接之后,还包括:
所述终端通过所述USB连接给所述另一终端供电;
获取所述终端的剩余电量和所述另一终端的剩余电量;
根据所述终端的剩余电量和所述另一终端的剩余电量,切换所述USB连接的主从关系。
2.根据权利要求1所述的方法,其特征在于,当所述无线连接断开时,所述方法还包括:
所述终端通过所述USB连接向所述另一终端发送未传输的数据。
3.根据权利要求1或2所述的方法,其特征在于,当所述USB连接断开时,所述方法还包括:
所述终端通过所述无线连接向所述另一终端发送未传输的数据。
4.根据权利要求1所述的方法,其特征在于,根据所述终端的剩余电量和所述另一终端的剩余电量,切换所述USB连接的主从关系,包括:
当所述终端的剩余电量与所述另一终端的剩余电量之间的差值大于第一阈值,且所述终端为剩余电量较低的一方时,切换所述USB连接的主从关系。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述第一输入和所述第二输入为两个独立的手势;或者,所述第一输入和所述第二输入为一个手势的两个阶段。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述终端和所述另一终端均支持USB Type-C接口。
7.根据权利要求1-6任一所述的方法,其特征在于,所述候选数据包括联系人、信息、照片、通话记录、音频、视频、文档或应用中的至少一项。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述终端安装有数据传输应用,所述第一界面为所述数据传输应用的界面。
9.根据权利要求8所述的方法,其特征在于,在所述终端显示第一界面之前,还包括:
响应于用户打开所述数据传输应用的操作,所述终端显示所述数据传输应用的第二界面,所述第二界面用于提示用户将所述终端设置为数据发送端或数据接收端。
10.根据权利要求9所述的方法,其特征在于,在所述终端显示第二界面之后,还包括:
响应于用户将所述终端设置为数据发送端或数据接收端的操作,所述终端显示提示信息,用于提示所述终端与所述另一终端建立连接。
11.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在终端上运行时,使得所述终端执行如权利要求1-10中任一项所述的数据传输方法。
12.一种终端,其特征在于,包括触摸屏和一个或多个处理器;
所述处理器用于:控制所述终端与另一终端建立无线连接;控制所述终端与所述另一终端建立通用串行总线USB连接;控制所述触摸屏显示第一界面,所述第一界面包括至少一项候选数据;响应于用户在所述第一界面中的第一输入,从所述至少一项候选数据中选中待传输数据;所述待传输数据包括第一数据和第二数据,所述第一数据为需要通过所述USB连接传输的数据,所述第二数据为需要通过所述无线连接传输的数据;根据所述终端与所述另一终端的电量确定所述第一数据的大小和所述第二数据的大小;其中,所述第一数据的大小大于所述第二数据的大小;响应于用户在所述第一界面中的第二输入,控制所述终端通过所述无线连接和所述USB连接向所述另一终端发送所述待传输数据;
所述处理器还用于:控制所述终端通过所述USB连接给所述另一终端供电;获取所述终端的剩余电量和所述另一终端的剩余电量;根据所述终端的剩余电量和所述另一终端的剩余电量,控制所述终端切换所述USB连接的主从关系。
13.根据权利要求12所述的终端,其特征在于,
所述处理器还用于:当所述无线连接断开时,控制所述终端通过所述USB连接向所述另一终端发送未传输的数据。
14.根据权利要求12或13所述的终端,其特征在于,
所述处理器还用于:当所述USB连接断开时,控制所述终端通过所述无线连接向所述另一终端发送未传输的数据。
15.根据权利要求12所述的终端,其特征在于,
所述处理器具体用于:当所述终端的剩余电量与所述另一终端的剩余电量之间的差值大于第一阈值,且所述终端为剩余电量较低的一方时,切换所述USB连接的主从关系。
16.根据权利要求12-15中任一项所述的终端,其特征在于,所述终端安装有数据传输应用,所述第一界面为所述数据传输应用的界面;
所述处理器还用于:响应于用户打开所述数据传输应用的操作,控制所述触摸屏显示所述数据传输应用的第二界面,所述第二界面用于提示用户将所述终端设置为数据发送端或数据接收端。
17.根据权利要求16所述的终端,其特征在于,
所述处理器还用于:响应于用户将所述终端设置为数据发送端或数据接收端的操作,控制所述触摸屏显示提示信息,用于提示所述终端与所述另一终端建立连接。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/087153 WO2019218282A1 (zh) | 2018-05-16 | 2018-05-16 | 一种数据传输方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111713176A CN111713176A (zh) | 2020-09-25 |
CN111713176B true CN111713176B (zh) | 2023-01-13 |
Family
ID=68539365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880089250.3A Active CN111713176B (zh) | 2018-05-16 | 2018-05-16 | 一种数据传输方法及终端 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11979941B2 (zh) |
EP (2) | EP4195870B1 (zh) |
CN (1) | CN111713176B (zh) |
WO (1) | WO2019218282A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113473645A (zh) * | 2020-03-12 | 2021-10-01 | 华为技术有限公司 | 数据传输方法和装置 |
CN112511335B (zh) * | 2020-11-02 | 2022-03-25 | 珠海格力电器股份有限公司 | It设备的控制方法、装置和一种数据中心管理系统 |
CN114640706B (zh) * | 2020-11-30 | 2023-09-12 | 华为技术有限公司 | 数据传输方法、电子设备及计算机可读存储介质 |
CN113515347B (zh) * | 2021-06-30 | 2024-03-29 | 惠州华阳通用电子有限公司 | 一种基于虚拟机的双系统数据传输方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072397A (zh) * | 2006-06-23 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种手机及手机处理p2p流媒体的方法 |
CN101388689A (zh) * | 2008-10-28 | 2009-03-18 | 深圳华为通信技术有限公司 | 一种数据多承载并行传输方法及装置 |
CN101827174A (zh) * | 2010-02-03 | 2010-09-08 | 哈尔滨工业大学 | 具有多种数据交换方式及充电功能的手机数据备份器 |
CN203102470U (zh) * | 2013-03-22 | 2013-07-31 | 成都狼嗅科技有限公司 | 智能联网报警系统 |
CN103580966A (zh) * | 2013-11-04 | 2014-02-12 | 惠州Tcl移动通信有限公司 | 一种无线链路和有线链路并行传输数据的方法及系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050000780A (ko) * | 2003-06-24 | 2005-01-06 | 주식회사 팬택앤큐리텔 | 휴대용 단말기의 유에스비 호스트/슬레이브 설정 장치 |
KR20060059031A (ko) * | 2004-11-26 | 2006-06-01 | 엘지전자 주식회사 | 공기 조화기의 상태를 모니터링하는 장치 |
JP4809724B2 (ja) * | 2006-07-12 | 2011-11-09 | 株式会社リコー | 通信装置、情報処理装置、通信方法、通信プログラム、及び、情報記憶媒体 |
US7627294B2 (en) | 2007-02-27 | 2009-12-01 | Broadcom Corporation | Radio transmitter front-end with amplitude and phase correction and methods for use therewith |
US8422550B2 (en) * | 2007-07-27 | 2013-04-16 | Lagavulin Limited | Apparatuses, methods, and systems for a portable, automated contractual image dealer and transmitter |
CN101854202A (zh) * | 2010-05-07 | 2010-10-06 | 华为技术有限公司 | 数据传输方法、设备及系统 |
CN102447273A (zh) | 2010-09-30 | 2012-05-09 | 联想(北京)有限公司 | 一种终端的供电方法及终端 |
US9253803B2 (en) * | 2010-11-24 | 2016-02-02 | Blackberry Limited | Managing short range wireless data transmissions |
TW201243604A (en) * | 2012-07-11 | 2012-11-01 | Cal Comp Electronics & Comm Co | Data transfer method |
KR102239572B1 (ko) * | 2015-01-27 | 2021-04-13 | 삼성전자주식회사 | 전자 장치들 간 양방향 데이터 통신 방법 및 장치 |
CN105098273B (zh) | 2015-07-20 | 2018-11-02 | 小米科技有限责任公司 | 充电方法及装置 |
CN106445856B (zh) | 2015-08-07 | 2019-05-14 | 小米科技有限责任公司 | 接口电路、状态切换方法及装置 |
CN105224494A (zh) | 2015-10-28 | 2016-01-06 | 小米科技有限责任公司 | 切换控制方法及装置 |
CN205384633U (zh) | 2016-01-21 | 2016-07-13 | 深圳市智凌无线科技有限公司 | 一种具有wifi数据通信功能的移动存储器 |
CN105680510A (zh) | 2016-01-29 | 2016-06-15 | 宇龙计算机通信科技(深圳)有限公司 | 用于电子设备的充电控制方法及充电控制装置 |
CN106299515B (zh) | 2016-09-14 | 2019-04-16 | 北京小米移动软件有限公司 | 充电方法及装置 |
CN106655358B (zh) | 2016-11-29 | 2019-08-30 | 努比亚技术有限公司 | 一种移动终端间充电控制装置及方法 |
-
2018
- 2018-05-16 US US17/055,382 patent/US11979941B2/en active Active
- 2018-05-16 CN CN201880089250.3A patent/CN111713176B/zh active Active
- 2018-05-16 EP EP22201000.1A patent/EP4195870B1/en active Active
- 2018-05-16 WO PCT/CN2018/087153 patent/WO2019218282A1/zh unknown
- 2018-05-16 EP EP18918685.1A patent/EP3780896B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072397A (zh) * | 2006-06-23 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种手机及手机处理p2p流媒体的方法 |
CN101388689A (zh) * | 2008-10-28 | 2009-03-18 | 深圳华为通信技术有限公司 | 一种数据多承载并行传输方法及装置 |
CN101827174A (zh) * | 2010-02-03 | 2010-09-08 | 哈尔滨工业大学 | 具有多种数据交换方式及充电功能的手机数据备份器 |
CN203102470U (zh) * | 2013-03-22 | 2013-07-31 | 成都狼嗅科技有限公司 | 智能联网报警系统 |
CN103580966A (zh) * | 2013-11-04 | 2014-02-12 | 惠州Tcl移动通信有限公司 | 一种无线链路和有线链路并行传输数据的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20210219127A1 (en) | 2021-07-15 |
EP3780896A4 (en) | 2021-04-14 |
EP4195870B1 (en) | 2024-04-24 |
CN111713176A (zh) | 2020-09-25 |
WO2019218282A1 (zh) | 2019-11-21 |
EP3780896A1 (en) | 2021-02-17 |
EP4195870A1 (en) | 2023-06-14 |
EP3780896B1 (en) | 2022-10-26 |
US11979941B2 (en) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111713176B (zh) | 一种数据传输方法及终端 | |
KR102481065B1 (ko) | 애플리케이션 기능 구현 방법 및 전자 디바이스 | |
KR102064952B1 (ko) | 수신 데이터를 이용하여 어플리케이션을 운영하는 전자 장치 | |
US11681432B2 (en) | Method and terminal for displaying input method virtual keyboard | |
US20220075518A1 (en) | Fast Data Copying Method and Electronic Device | |
WO2019178869A1 (zh) | 一种eSIM卡的开户方法及终端 | |
CN110168487B (zh) | 一种触摸控制方法及装置 | |
CN110058850B (zh) | 一种应用的开发方法、装置以及存储介质 | |
CN110990075A (zh) | 快应用的启动方法、装置、设备及存储介质 | |
EP2696603A2 (en) | Apparatus and method for communicating data in mobile device having near field communication module | |
EP3772681A1 (en) | Electronic device and method for sharing data thereof | |
CN111557097B (zh) | 一种虚拟遥控器中电源键的控制方法及终端 | |
CN108780400B (zh) | 数据处理方法及电子设备 | |
CN110865837A (zh) | 一种进行系统升级的方法和终端 | |
WO2021027772A1 (zh) | 一种应用切换运行的方法及设备 | |
JP2022141683A (ja) | アプリケーション機能の実施方法及び電子装置 | |
WO2020000276A1 (zh) | 一种快捷按键的控制方法及终端 | |
WO2024078306A1 (zh) | 横幅通知消息的显示方法与电子设备 | |
CN115268809A (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 |