数据的传输方法及装置与流程

文档序号:29692210发布日期:2022-04-16 12:04阅读:92来源:国知局
数据的传输方法及装置与流程

1.本技术涉及通信技术领域,尤其涉及一种数据的传输方法及装置。


背景技术:

2.在不同的设备之间可以通过拖拽实现数据的传输,例如,在安装有同一操作系统的手机和计算机间拖拽传输数据时,需要在计算机上使用特定应用程序登录与手机上登录的账号相同的账号,从而将手机上的照片或文件拖到计算机上,但这种方式需要依赖于同一账号、以及操作系统窗口显示和反向控制能力等特定功能,并非任意两设备之间都能够通过这样的操作实现数据传输。
3.如果一次拖拽操作不成功,用户会反复拖拽,会造成操作复杂、效率低下。


技术实现要素:

4.有鉴于此,提出了一种数据的传输方法、装置、终端设备、存储介质以及计算机程序产品,可以通过为用户提供直观的视觉反馈,避免错误操作和反复操作,提高操作效率。
5.第一方面,本技术的实施例提供了一种数据的传输方法,所述方法应用于第一终端设备,第一终端设备与第二终端设备连接,所述方法包括:
6.第一终端设备在检测到针对第一终端设备上的对象的第一跨设备传输操作时,获取对象的数据类型,其中,第一跨设备传输操作用于发起将对象传输至第二终端设备的过程;
7.向第二终端设备发送携带有所述数据类型判断请求,
8.接收来自第二终端设备基于所述数据类型做出的判断结果,所述判断结果表示所述对象是否能够传输至第二终端设备;
9.显示判断结果。
10.结合第一方面的第一种可能的实现方式中,所述判断请求携带有数据类型字段和/或扩展的数据类型字段,数据类型字段和扩展的数据类型字段用于表示对象的数据类型。根据本技术上述实现方式的数据的传输方法可以扩展可拖拽的内容,扩展的数据类型字段可以指示自定义的、或适用于特定设备或应用的、或新出现的数据类型,使得跨设备传输数据时适用更多种数据类型和设备,便于用户操作。
11.结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括,在判断结果为能够传输至第二终端设备且检测到第二跨设备传输操作时,向第二终端设备发送对象,第二跨设备传输操作用于确认将对象传输至第二终端设备。
12.结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,向第二终端设备发送对象,具体可以实现为:
13.将对象暂存在第一终端设备本地;
14.向第二终端设备发送数据传输请求,数据传输请求用于传输对象;
15.在接收到第二终端设备返回的接受数据传输请求的第一响应信号时,根据第一响应信号发送对象;
16.在接收到第二终端设备返回的不接受数据传输请求的第二响应信号时,撤销发送对象。
17.结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,将对象暂存在第一终端设备本地之后,还包括:
18.在检测到针对暂存的对象的调出指令时,调出暂存的对象,并向第二终端设备发送所述数据传输请求。
19.结合第一方面的第三种或第四种可能的实现方式,在第五种可能的实现方式中,根据第一响应信号发送对象,具体可以实现为:
20.在接收到第一响应信号时,直接发送对象;或者,在接收到第一响应信号时,延迟发送对象。
21.根据上述第三种、第四种和第五种可能的实现方式的数据的传输方法,可以显示可选择的针对拖入的对象的操作,便于用户根据实际的需求调整传输的过程或处理的方式,使得第二终端设备可以根据实际需求对对象进行处理。
22.结合第一方面或者第一方面的第一种、第二种、第三种、第四种或第五种可能的实现方式,在第六种可能的实现方式中,第一终端设备与两个以上候选终端设备连接,本技术的数据的传输方法还可以包括:
23.第一终端设备在检测到针对第一终端设备上的对象的第一跨设备传输操作时,显示两个以上候选终端设备的信息;
24.根据第一跨设备传输操作的停留位置与两个以上候选终端设备的信息的显示位置之间的关系,确定第一跨设备传输操作对应的第二终端设备。
25.结合第一方面或者第一方面的第一种、第二种、第三种、第四种或第五种可能的实现方式,在第七种可能的实现方式中,第一终端设备与两个以上候选终端设备连接,本技术的数据的传输方法还可以包括:
26.根据第一跨设备传输操作的停留位置与第一终端设备的边缘的位置关系确定第一跨设备传输操作对应的第二终端设备。
27.根据以上第六种或第七种可能的实现方式的数据的传输方法,可以实现对多个终端设备之间的交互,且多个终端设备类型可以不同,使得用户才多个不同设备之间共享数据时更加便利。
28.结合第一方面或者第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述方法还包括:
29.向第二终端设备发送显示指令,以指示第二终端设备根据显示指令和第二终端设备与第一终端设备之间的位置关系显示对象的第一图像,第一终端设备上显示的对象的第二图像与第二终端设备上显示的对象的第一图像能够拼成对象的完整图像;若检测到在显示屏幕上显示的对象的第二图像的面积满足发送条件,则向第二终端设备设备发送对象。根据该实现方式的数据的传输方法,以简洁、直观的展示出拖拽交互的过程,同时有利于用户判断拖拽时机,避免重复操作,简化用户操作。
30.结合第一方面或者第一方面的第六种可能的实现方式,在第九种可能的实现方式
中,所述方法还包括:
31.向第二终端设备发送显示状态请求,以使第二终端设备响应显示状态请求返回第二终端设备当前的显示界面,并显示显示界面;
32.在本实现方式中,第一方面中的,向所述第二终端设备发送携带有所述数据类型的判断请求,具体可以实现为:
33.向所述第二终端设备发送判断请求,所述判断请求所述数据类型和第一跨设备传输操作停留的位置在上述显示界面中的坐标,
34.在本实现方式中,第一方面中的,接收来自所述第二终端设备基于所述数据类型做出的判断结果,具体可以实现为:
35.接收来自第二终端设备基于上述数据类型和上述坐标做出的判断结果。
36.根据上述第九种可能的实现方式的数据的传输方法,能够直接将对象拖拽到目标位置,相比于相关技术需要进一步在接收端操作拖拽到目标位置的过程,能够简化用户操作。在拖拽的过程中实时显示判断结果,能够避免重复操作,提高操作效率。
37.结合第一方面的第二种可能的实现方式,在第十种可能的实现方式中,所述方法还包括:
38.确定第二终端设备对对象的处理方式;
39.向所述第二终端设备发送所述对象,包括:
40.向所述第二终端设备发送所述对象以及指示信息,所述指示信息用于指示第二终端设备以所述处理方式处理所述对象。
41.第二方面,本技术的实施例提供了一种数据的传输方法,所述方法应用于第二终端设备,所述第二终端设备与第一终端设备连接,所述方法包括:
42.接收第一终端设备发送的判断请求,其中,所述判断请求携带有待传输的对象的数据类型,所述判断请求用于请求第二终端设备判断所述数据类型的对象能否传输至第二终端设备;
43.根据所述数据类型做出判断结果,并将判断结果发送给第一终端设备,以使第一终端设备显示判断结果。
44.结合第二方面的第一种可能的实现方式中,所述方法还包括:
45.在接收到第一终端设备发送的显示状态请求时,向第一终端设备返回第二终端设备当前的显示界面,以使第一终端设备确定第一跨设备传输操作在显示界面中停留位置的坐标,其中,第一跨设备传输操作为第一终端设备用于发起将对象传输至第二终端设备的过程的操作;
46.其中,第二方面的实现方式中的判断请求携带有所述坐标,
47.第二方面的实现方式中的,根据所述数据类型做出判断结果,包括:
48.根据所述数据类型和所述坐标做出判断结果。根据该实现方式的数据的传输方法,能够直接将对象拖拽到目标位置,相比于相关技术需要进一步在接收端操作拖拽到目标位置的过程,能够简化用户操作。在拖拽的过程中实时显示判断结果,能够避免重复操作,提高操作效率。
49.结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
50.在接收到第一终端设备发送的对象时,根据数据类型、本地存储状态、第二终端设备安装的应用服务、坐标中的一项或多项对对象进行处理。
51.结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,根据数据类型、本地存储状态、第二终端设备安装的应用服务、坐标中的一项或多项对对象进行处理,具体可以实现为:
52.在本地存储状态为不具备存储能力时,根据第二终端设备安装的应用服务打开对象;
53.在本地存储状态为具备存储能力时,在本地存储对象。
54.结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,在本地存储状态为具备存储能力时,在本地存储对象,具体可以实现为:
55.在本地存储状态为具备存储能力、上述坐标在上述显示界面中的对应位置不允许所述数据类型插入时,在本地存储对象并根据上述数据类型选择应用程序打开对对象;
56.在本地存储状态为具备存储能力、上述坐标在上述显示界面中的对应位置允许所述数据类型插入时,在本地存储对象并根据上述坐标在上述显示界面中打开对象。
57.根据上述实现方式的数据的传输方法,接收端可以根据本地的信息对对象进行处理,简化用户操作。
58.结合第二方面或者第二方面的第一种、第二种、第三种或者第四种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:
59.在接收到所述第一终端设备发送的所述对象时,若第二终端设备具备存储能力,则将所述对象暂存在本地;
60.显示处理选项;
61.根据针对所述处理选项的选择操作对所述对象进行处理。
62.结合第二方面,在第六种可能的实现方式中,所述方法还包括:
63.在接收到第一终端设备发送的显示指令时,根据显示指令和第二终端设备与第一终端设备之间的位置关系显示对象的第一图像,
64.第一终端设备上显示的对象的第二图像与第二终端设备上显示的对象的第一图像能够拼成对象的完整图像。根据该实现方式的数据的传输方法,以简洁、直观的展示出拖拽交互的过程,同时有利于用户判断拖拽时机,避免重复操作,简化用户操作。
65.第三方面,本技术的实施例提供了一种数据的传输装置,所述方法应用于第一终端设备,所述第一终端设备与第二终端设备连接,所述装置包括:
66.第一获取模块,用于所述第一终端设备在检测到针对第一终端设备上的对象的第一跨设备传输操作时,获取对象的数据类型,其中,第一跨设备传输操作用于发起将所述对象传输至第二终端设备的过程;
67.第一发送模块,用于向第二终端设备发送携带有所述数据类型的判断请求,
68.第一接收模块,用于接收来自第二终端设备基于所述数据类型做出的判断结果,所述判断结果表示所述对象是否能够传输至第二终端设备;
69.第一显示模块,用于显示判断结果。
70.结合第三方面的第一种可能的实现方式,所述判断请求携带有数据类型字段和/或扩展的数据类型字段,数据类型字段和扩展的数据类型字段用于表示对象的数据类型。
71.结合第三方面或者第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:
72.第二发送模块,用于在判断结果为能够传输至第二终端设备且检测到第二跨设备传输操作时,向第二终端设备发送所述对象,第二跨设备传输操作用于确认将对象传输至第二终端设备。
73.结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第二发送模块可以包括:
74.第一保存单元,用于将对象暂存在第一终端设备本地;
75.第一发送单元,用于向第二终端设备发送数据传输请求,数据传输请求用于传输所述对象;
76.第二发送单元,用于在接收到所述第二终端设备返回的接受数据传输请求的第一响应信号时,根据第一响应信号发送对象;
77.撤销发送单元,用于在接收到所述第二终端设备返回的不接受数据传输请求的第二响应信号时,撤销发送对象。
78.结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,第一发送单元还用于在检测到针对暂存的所述对象的调出指令时,调出暂存的对象,并向所述第二终端设备发送所述数据传输请求。
79.结合第三方面的第三种可能的实现方式,在第五种可能的实现方式中,,所述第二发送单元还用于:在接收到第一响应信号时,直接发送对象,或者,在接收到第一响应信号时,延迟发送对象。
80.结合第三方面或者第三方面的第一种、第二种、第三种、第四种或第五种可能的实现方式,在第六种可能的实现方式中,所述第一终端设备与两个以上候选终端设备连接,
81.所述装置还包括:
82.第二显示模块,用于第一终端设备在检测到针对第一终端设备本地的对象的第一跨设备传输操作时,显示两个以上候选终端设备的信息;
83.第二确定模块,用于根据第一跨设备传输操作的停留位置与两个以上候选终端设备的信息的显示位置之间的关系,确定第一跨设备传输操作对应的第二终端设备。
84.结合第三方面或者第三方面的第一种、第二种、第三种、第四种或第五种可能的实现方式,在第七种可能的实现方式中,第一终端设备与两个以上候选终端设备连接,所述装置还包括:第三确定模块,用于根据第一跨设备传输操作的停留位置与第一终端设备的边缘的位置关系确定第一跨设备传输操作对应的第二终端设备。
85.结合第三方面或者第三方面的第七种可能的实现方式,在第八种可能的实现方式中,所述装置还包括:
86.第三发送模块,用于向第二终端设备发送显示指令,以指示第二终端设备根据显示指令和第二终端设备与第一终端设备之间的位置关系显示对象的第一图像,
87.所述第一终端设备上显示的对象的第二图像与第二终端设备上显示的对象的第一图像能够拼成对象的完整图像;
88.第四发送模块,用于若检测到在显示屏幕上显示的对象的第二图像的面积满足发送条件,则向第二终端设备发送对象。
89.结合第三方面或者第三方面的第六种可能的实现方式,在第九种可能的实现方式中,所述装置还包括:
90.第五发送模块,用于向第二终端设备发送显示状态请求,以使第二终端设备响应所述显示状态请求返回第二终端设备当前的显示界面,并显示显示界面;
91.所述第一发送模块包括:
92.第三发送单元,用于根据数据类型和第一跨设备传输操作停留的位置在上述显示界面中的坐标向第二终端设备发送判断请求,
93.所述第一接收模块包括:
94.接收单元,用于接收来自第二终端设备基于上述数据类型和上述坐标做出的判断结果。
95.结合第三方面的第二种可能的实现方式,在第十种可能的实现方式中,所述装置还包括:
96.第三确定模块,用于确定第二终端设备对对象的处理方式;
97.所述第二发送模块还包括:
98.第四发送单元,用于向所述第二终端设备发送所述对象以及指示信息,所述指示信息用于指示第二终端设备以所述处理方式处理所述对象。
99.第四方面,本技术的实施例提供了一种数据的传输装置,所述方法应用于第二终端设备,所述第二终端设备与第一终端设备连接,所述装置包括:
100.第二接收模块,用于接收到第一终端设备发送的判断请求,其中,所述判断请求携带有待传输的对象的数据类型,所述判断请求用于请求第二终端设备判断所述数据类型的对象能否传输至第二终端设备;
101.第一判断模块,用于根据所述数据类型做出判断结果,并将判断结果发送给第一终端设备,以使第一终端设备显示判断结果。
102.结合第四方面的第一种可能的实现方式,所述装置还包括:
103.第六发送模块,用于在接收到第一终端设备发送的显示状态请求时,向第一终端设备返回第二终端设备当前的显示界面,以使第一终端设备确定第一跨设备传输操作在显示界面中停留位置的坐标,其中,第一跨设备传输操作为第一终端设备用于发起将对象传输至第二终端设备的过程的操作;
104.其中,第四方面中的判断请求携带有所述坐标,所述第一判断模块包括:
105.第一判断单元,用于根据上述数据类型和上述坐标做出判断结果。
106.结合第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:
107.第一处理模块,用于在接收到第一终端设备发送的对象时,根据数据类型、本地存储状态、第二终端设备安装的应用服务、上述坐标中的一项或多项对对象进行处理。
108.结合第四方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一处理模块包括:
109.第一处理单元,用于在本地存储状态为不具备存储能力时,根据第二终端设备安装的应用服务打开对象;
110.第二处理单元,用于在本地存储状态为具备存储能力时,在本地存储对象。
111.结合第四方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第二处理单元还用于在本地存储状态为具备存储能力、上述坐标在上述显示界面中的对应位置不允许所述数据类型插入时,在本地存储对象并根据上述数据类型选择应用程序打开对对象;在本地存储状态为具备存储能力、上述坐标在上述显示界面中的对应位置允许所述数据类型插入时,在本地存储对象并根据上述坐标在上述显示界面中打开对象。
112.结合第四方面或者第四方面的第一种、第二种、第三种或者第四种可能的实现方式,在第五种可能的实现方式中,,所述装置还包括:
113.存储模块,用于在接收到所述第一终端设备发送的所述对象时,若第二终端设备具备存储能力,则将所述对象暂存在本地;
114.第三显示模块,用于显示处理选项;
115.第二处理模块,用于根据针对所述处理选项的选择操作对所述对象进行处理。
116.结合第四方面,在第六种可能的实现方式中,所述装置还包括:
117.第四显示模块,用于在接收到第一终端设备发送的显示指令时,根据显示指令和第二终端设备与第一终端设备之间的位置关系显示对象的第一图像,
118.第一终端设备上显示的对象的第二图像与第二终端设备上显示的对象的第一图像能够拼成对象的完整图像。
119.结合第一方面、第一方面的多种实现方式、第二方面、第二方面的多种实现方式、第三方面、第三方面的多种实现方式、第四方面、第四方面的多种实现方式,在一种可能的实现方式中,第一跨设备传输操作为拖拽操作,第二跨设备传输操作为拖拽释放操作。
120.第五方面,本技术的实施例提供了一种数据的传输装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行指令时实现上述方法。
121.第六方面,本技术的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
122.第七方面,本技术的实施例提供了一种终端设备,该终端设备可以执行上面第一方面或者第一方面的多种实现方式中的一种或几种的数据的传输方法。
123.结合第七方面的第一种可能的实现方式中,该终端设备还可以执行上面第二方面或者第二方面的多种实现方式中的一种或几种的数据的传输方法。
124.第八方面,本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述方法。
125.通过上述各实施方式的数据的传输方法及装置,能够根据对象的数据类型和接收端的匹配程度为用户提供直观的视觉反馈,避免错误操作和反复操作,提高操作效率。
126.根据下面参考附图对示例性实施例的详细说明,本技术的其它特征及方面将变得清楚。
附图说明
127.包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本技术的示例性实施例、特征和方面,并且用于解释本技术的原理。
128.图1示出根据本技术一实施例的应用场景的示意图。
129.图2示出根据本技术一实施例的终端设备内部系统结构示意图。
130.图3a和图3b分别示出根据本技术一实施例的数据的传输方法的流程图。
131.图4示出根据本技术一实施例的数据的传输方法的应用场景的示意图。
132.图5a和图5b分别示出根据本技术一实施例的显示判断结果的方式的示例。
133.图6示出根据本技术一实施例的dragevent事件包含的字段的示意图。
134.图7示出根据本技术一实施例的应用场景的示意图。
135.图8a和图8b分别示出根据本技术一实施例的数据的传输方法的流程图。
136.图8c示出根据本技术一实施例的应用场景的交互流程图。
137.图9a示出根据本技术一实施例的数据的传输方法的流程图。
138.图9b示出根据本技术一实施例的数据的传输方法的流程图。
139.图9c示出根据本技术一实施例的数据的传输方法的流程图。
140.图9d和图9e分别示出根据本技术一实施例的终端设备的显示界面的示意图。
141.图9f示出根据本技术一实施例的具体应用场景的示意图。
142.图9g示出根据本技术一实施例的终端设备的显示界面的示意图。
143.图10示出根据本技术一实施例的应用场景的示意图。
144.图11a示出根据本技术一实施例的第一终端设备的显示界面的示意图。
145.图11b示出根据本技术一实施例的第一终端设备的显示界面的示意图。
146.图11c示出根据本技术一实施例的第一终端设备的显示界面的示意图。
147.图11d示出根据本技术一实施例的第一终端设备的显示界面的应用场景示意图。
148.图12a示出根据本技术一实施例的数据的传输方法的流程图。
149.图12b示出根据本技术一实施例的数据的传输方法的流程图。
150.图13a示出根据本技术一实施例的应用场景的示意图。
151.图13b示出根据本技术一实施例的跨屏显示的示意图。
152.图14a示出根据本技术一实施例的数据的传输方法的流程图。
153.图14b示出根据本技术一实施例的数据的传输方法的流程图。
154.图15示出根据本技术一实施例的应用场景的示意图。
155.图16示出根据本技术一实施例的数据的传输方法的流程图。
156.图17示出根据本技术一实施例的数据的传输装置的框图。
157.图18示出根据本技术一实施例的数据的传输装置的框图。
158.图19示出根据本技术一实施例的终端设备的结构示意图。
159.图20示出根据本技术一实施例的终端设备的软件结构框图。
具体实施方式
160.以下将参考附图详细说明本技术的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
161.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
162.另外,为了更好的说明本技术,在下文的具体实施方式中给出了众多的具体细节。
本领域技术人员应当理解,没有某些具体细节,本技术同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本技术的主旨。
163.为了解决上述技术问题,本技术提供了一种数据的传输方法,本技术实施例的数据的传输方法能够实现跨设备的数据传输,该传输方法可以应用于终端设备,根据待传输的对象与接收设备的匹配程度提供直观的视觉反馈,提高操作效率。
164.在本技术的实施方式中,可以将发起跨设备传输数据并发送数据的一方称作源(source)端、接收数据的一方称作接收(sink)端。需要说明的是,在一对关系中作为源端的设备,在另一对关系中也可能为接收端,也就是说,对于一个终端设备来说,其既可能是作为另一个终端设备的源端,也可能是另一个终端设备的接收端。
165.本技术涉及的终端设备(包括上文所述的源端的设备和接收端的设备)可以是指具有无线连接功能的设备,无线连接的功能是指可以通过wifi、蓝牙等无线连接方式与其他终端设备进行连接,本技术的终端设备也可以具有有线连接进行通信的功能。本技术的终端设备可以是触屏的、也可以是非触屏的、也可以是没有屏幕的,触屏的可以通过手指、触控笔等在显示屏幕上点击、滑动等方式对终端设备进行控制,非触屏的设备可以连接鼠标、键盘、触控面板等输入设备,通过输入设备对终端设备进行控制,没有屏幕的设备比如说可以是没有屏幕的蓝牙音箱等。
166.举例来说,本技术的终端设备可以是智能手机、上网本、平板电脑、笔记本电脑、可穿戴电子设备(如智能手环、智能手表等)、tv、虚拟现实设备、音响、电子墨水,等等。
167.图19示出根据本技术一实施例的终端设备的结构示意图。以终端设备是手机为例,图19示出了手机200的结构示意图。
168.手机200可以包括处理器210,外部存储器接口220,内部存储器221,usb接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块251,无线通信模块252,音频模块270,扬声器270a,受话器270b,麦克风270c,耳机接口270d,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及sim卡接口295等。其中传感器模块280可以包括陀螺仪传感器280a,加速度传感器280b,接近光传感器280g、指纹传感器280h,触摸传感器280k(当然,手机200还可以包括其它传感器,比如温度传感器,压力传感器、距离传感器、磁传感器、环境光传感器、气压传感器、骨传导传感器等,图中未示出)。
169.可以理解的是,本技术实施例示意的结构并不构成对手机200的具体限定。在本技术另一些实施例中,手机200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
170.处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
171.处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
172.处理器210可以运行本技术实施例提供的数据的传输方法,以便于降低用户的操作复杂度、提高终端设备的智能化程度,提升用户的体验。处理器210可以包括不同的器件,比如集成cpu和gpu时,cpu和gpu可以配合执行本技术实施例提供的数据的传输方法,比如数据的传输方法中部分算法由cpu执行,另一部分算法由gpu执行,以得到较快的处理效率。
173.显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,手机200可以包括1个或n个显示屏294,n为大于1的正整数。显示屏294可用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graphical user interface,gui)。例如,显示器294可以显示照片、视频、网页、或者文件等。再例如,显示器294可以显示图形用户界面。其中,图形用户界面上包括状态栏、可隐藏的导航栏、时间和天气小组件(widget)、以及应用的图标,例如浏览器图标等。状态栏中包括运营商名称(例如中国移动)、移动网络(例如4g)、时间和剩余电量。导航栏中包括后退(back)键图标、主屏幕(home)键图标和前进键图标。此外,可以理解的是,在一些实施例中,状态栏中还可以包括蓝牙图标、wi-fi图标、外接设备图标等。还可以理解的是,在另一些实施例中,图形用户界面中还可以包括dock栏,dock栏中可以包括常用的应用图标等。当处理器210检测到用户的手指(或触控笔等)针对某一应用图标的触摸事件后,响应于该触摸事件,打开与该应用图标对应的应用的用户界面,并在显示器294上显示该应用的用户界面。
174.在本技术实施例中,显示屏294可以是一个一体的柔性显示屏,也可以采用两个刚性屏以及位于两个刚性屏之间的一个柔性屏组成的拼接显示屏。
175.当处理器210运行本技术实施例提供的数据的传输方法后,终端设备可以通过天线1、天线2或者usb接口与其他的终端设备建立连接,并根据本技术实施例提供的数据的传输方法传输数据以及控制显示屏294显示相应的图形用户界面。
176.摄像头293(前置摄像头或者后置摄像头,或者一个摄像头既可作为前置摄像头,也可作为后置摄像头)用于捕获静态图像或视频。通常,摄像头293可以包括感光元件比如镜头组和图像传感器,其中,镜头组包括多个透镜(凸透镜或凹透镜),用于采集待拍摄物体反射的光信号,并将采集的光信号传递给图像传感器。图像传感器根据所述光信号生成待拍摄物体的原始图像。
177.内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行手机200的各种功能应用以及数据处理。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序(比如相机应用,微信应用等)的代码等。存储数据区可存储手机200
使用过程中所创建的数据(比如相机应用采集的图像、视频等)等。
178.内部存储器221还可以存储本技术实施例提供的数据的传输方法对应的一个或多个计算机程序1310。该一个或多个计算机程序1304被存储在上述存储器221中并被配置为被该一个或多个处理器210执行,该一个或多个计算机程序1310包括指令,上述指令可以用于执行如图3a、图3b、图8a、图8b、图9a—图9c、图12a、图12b、图14a、图14b或图16相应实施例中的各个步骤,该计算机程序1310可以包括第一获取模块61、第一发送模块62、第一接收模块63以及第一显示模块64。其中,第一获取模块61,用于所述第一终端设备在检测到针对所述第一终端设备上的对象的第一跨设备传输操作时,获取所述对象的数据类型;第一发送模块62,用于向所述第二终端设备发送携带有所述数据类型的判断请求,第一接收模块63,用于接收来自所述第二终端设备基于所述数据类型做出的判断结果,所述判断结果表示所述对象是否能够传输至第二终端设备;第一显示模块64,用于显示所述判断结果。当内部存储器221中存储的数据的传输方法的代码被处理器210运行时,处理器210可以控制显示屏显示判断结果。
179.此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
180.当然,本技术实施例提供的数据的传输方法的代码还可以存储在外部存储器中。这种情况下,处理器210可以通过外部存储器接口220运行存储在外部存储器中的数据的传输方法的代码。
181.下面介绍传感器模块280的功能。
182.陀螺仪传感器280a,可以用于确定手机200的运动姿态。在一些实施例中,可以通过陀螺仪传感器280a确定手机200围绕三个轴(即,x,y和z轴)的角速度。即陀螺仪传感器280a可以用于检测手机200当前的运动状态,比如抖动还是静止。
183.当本技术实施例中的显示屏为可折叠屏时,陀螺仪传感器280a可用于检测作用于显示屏294上的折叠或者展开操作。陀螺仪传感器280a可以将检测到的折叠操作或者展开操作作为事件上报给处理器210,以确定显示屏294的折叠状态或展开状态。
184.加速度传感器280b可检测手机200在各个方向上(一般为三轴)加速度的大小。即陀螺仪传感器280a可以用于检测手机200当前的运动状态,比如抖动还是静止。当本技术实施例中的显示屏为可折叠屏时,加速度传感器280b可用于检测作用于显示屏294上的折叠或者展开操作。加速度传感器280b可以将检测到的折叠操作或者展开操作作为事件上报给处理器210,以确定显示屏294的折叠状态或展开状态。
185.接近光传感器280g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机通过发光二极管向外发射红外光。手机使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机附近有物体。当检测到不充分的反射光时,手机可以确定手机附近没有物体。当本技术实施例中的显示屏为可折叠屏时,接近光传感器280g可以设置在可折叠的显示屏294的第一屏上,接近光传感器280g可根据红外信号的光程差来检测第一屏与第二屏的折叠角度或者展开角度的大小。
186.陀螺仪传感器280a(或加速度传感器280b)可以将检测到的运动状态信息(比如角
速度)发送给处理器210。处理器210基于运动状态信息确定当前是手持状态还是脚架状态(比如,角速度不为0时,说明手机200处于手持状态)。
187.指纹传感器280h用于采集指纹。手机200可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
188.触摸传感器280k,也称“触控面板”。触摸传感器280k可以设置于显示屏294,由触摸传感器280k与显示屏294组成触摸屏,也称“触控屏”。触摸传感器280k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏294提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器280k也可以设置于手机200的表面,与显示屏294所处的位置不同。
189.示例性的,手机200的显示屏294显示主界面,主界面中包括多个应用(比如相机应用、微信应用等)的图标。用户通过触摸传感器280k点击主界面中相机应用的图标,触发处理器210启动相机应用,打开摄像头293。显示屏294显示相机应用的界面,例如取景界面。
190.手机200的无线通信功能可以通过天线1,天线2,移动通信模块251,无线通信模块252,调制解调处理器以及基带处理器等实现。
191.天线1和天线2用于发射和接收电磁波信号。手机200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
192.移动通信模块251可以提供应用在手机200上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块251可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块251可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块251还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块251的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块251的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。在本技术实施例中,移动通信模块251还可以用于与其它终端设备进行信息交互。
193.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器270a,受话器270b等)输出声音信号,或通过显示屏294显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器210,与移动通信模块251或其他功能模块设置在同一个器件中。
194.无线通信模块252可以提供应用在手机200上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块252可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块252经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块252还可以从处理器210接收待发
送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。本技术实施例中,无线通信模块252,用于在处理器210的控制下与其他终端设备之间传输数据,比如,处理器210运行本技术实施例提供的数据的传输方法时,处理器可以控制无线通信模块252向其他终端设备发送判断请求,还可以接收其他终端设备基于上述判断请求做出的判断结果,判断结果表示要传输的数据能否传输给其他终端设备,然后控制显示屏294显示判断结果,为用户提供直观的视觉反馈,避免错误操作和反复操作,提高操作效率
195.另外,手机200可以通过音频模块270,扬声器270a,受话器270b,麦克风270c,耳机接口270d,以及应用处理器等实现音频功能。例如音乐播放,录音等。手机200可以接收按键290输入,产生与手机200的用户设置以及功能控制有关的键信号输入。手机200可以利用马达291产生振动提示(比如来电振动提示)。手机200中的指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。手机200中的sim卡接口295用于连接sim卡。sim卡可以通过插入sim卡接口295,或从sim卡接口295拔出,实现和手机200的接触和分离。
196.应理解,在实际应用中,手机200可以包括比图19所示的更多或更少的部件,本技术实施例不作限定。图示手机200仅是一个范例,并且手机200可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
197.终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明终端设备的软件结构。
198.图20是本技术实施例的终端设备的软件结构框图。
199.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
200.应用程序层可以包括一系列应用程序包。
201.如图20所示,应用程序包可以包括电话、相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
202.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
203.如图20所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
204.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。窗口管理器还可以用于检测是否存在本技术实施例的扩设备传输操作,例如拖拽操作。
205.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
206.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示
界面,可以包括显示文字的视图以及显示图片的视图。
207.电话管理器用于提供终端设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
208.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
209.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
210.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
211.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
212.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
213.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
214.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
215.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
216.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
217.2d图形引擎是2d绘图的绘图引擎。
218.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
219.图1示出根据本技术一实施例的应用场景的示意图。如图1所示,第一终端设备和第二终端设备之间可以通过蓝牙、热点、wifi等方式建立无线连接并进行配对,也可以通过有线的方式进行连接,比如说手机和笔记本电脑之间通过usb数据线连接,等等,本技术对具体的连接方式不作限定。本领域技术人员可以理解的是,第一终端设备和第二终端设备都可以是源端或者接收端,在本技术的实施例中,为了便于清楚的说明技术方案,在无特别说明的情况下,第一终端设备为源端,第二终端设备为接收端。
220.图2示出根据本技术一实施例的终端设备内部系统结构示意图,如图2所示,所述终端设备的系统可以包括应用服务层、应用程序框架层(图2中的framework为一个示例)以及实现跨设备数据传输功能的跨设备传输服务系统,例如,图2中的拖拽服务系统为跨设备传输服务系统的一个示例。
221.其中,应用程序框架层可以参见图20中的相关内容,本实施例中,应用程序框架层可以包括inputdispatcher、view系统以及wms(windowmanagerservice),framework层中的
inputdispatcher负责接收用户操作,并分发给各个窗口处理;wms可以与view系统一起作为窗口管理器的一部分管理显示的窗口,wms响应用户在窗口内的用户操作,如拖拽动作、触屏动作、点击操作等,wms响应于用户操作可以判断用户操作是否为跨设备传输操作(例如,拖拽操作),这里的跨设备传输操作可以是指用于将一个终端设备上的对象传输至另一个终端设备的操作,也就是终端设备检测到其作为源端的操作,跨设备传输操作可以是预先设置的一个或一系列操作,在wms将用户操作与预先设置的操作进行比较,判断用户操作符合预先设置的操作时,可以确定用户操作为跨设备传输操作。如果wms确定用户操作为是跨设备传输操作,则可以产生跨设备传输事件并发送给拖拽服务系统,拖拽服务系统可以是在系统运行库层添加的用于实现基于拖拽等各种形式的操作进行跨设备数据传输的服务,拖拽服务系统可以监听framework层的跨设备传输事件,并将跨设备传输事件发送给连接的另一终端设备的拖拽服务系统。
222.应用服务层中的应用服务可以在framework层的wms注册跨设备传输操作的监听(例如,拖拽监听),在注册跨设备传输操作的监听后,如果终端设备的framework层检测到窗口内有针对应用服务的跨设备传输事件(例如,拖拽事件)或者一个终端的拖拽服务系统接收到另一个终端的拖拽服务系统发送的跨设备传输事件,framework层可以将跨设备传事件发送给应用服务,应用服务可以确定是否能够接受跨设备传事件的对象(数据)。其中,针对应用服务的跨设备传输事件可以是指用户将一个终端上的对象拖拽到另一个终端上的应用服务、应用服务内的位置等,终端设备的framework层检测到窗口内有针对应用服务的跨设备传输事件可以是指作为接收端的设备在接收到源端发送的对象后,在本地的显示窗口检测到针对对象的拖拽等用于将对象拖入到应用服务或者应用服务内的位置的操作,此时,接收端的framework层可以将跨设备传事件发送给应用服务,应用服务可以确定是否能够接受跨设备传事件的对象(数据)。
223.在一种可能的实现方式中,图2中的拖拽服务系统可以包括第一接口和第二接口。其中,第一接口可以用于和framework层之间的通信,第二接口可以用于与终端设备的通信组件之间的通信,终端设备的通信组件可以是无线通信组件,例如天线等,也可以是实现有线通信的硬件接口,本技术对此不作限定。
224.第一接口和第二接口都可以通过软件接口的形式实现,比如说第一接口和第二接口都可以通过回调函数实现,拖拽服务系统的其他功能也可以通过软件的形式实现。举例来说,可以通过在framework层注册监听跨设备传输操作的回调函数,也就是说可以在framework层注册调用拖拽服务系统(拖拽服务函数)的指针,framework层在监听到跨设备传输操作时,可以产生跨设备传输事件,从而触发调用拖拽服务系统(拖拽服务函数)。拖拽服务系统可以根据framework层的跨设备传输事件生成判断请求,并通过第二接口和通信组件发送给另一个终端设备。另一终端设备的拖拽服务系统在接收到判断请求后,可以通过第一接口发送给自己的framework层。
225.需要说明的是,图2中仅仅展示了一个终端设备的framework层中的内部结构,另一个终端设备内也有相同的结构,仅仅是未示出。
226.终端设备内安装的操作系统可以是android、ios、windows、mac、linux等系统,本技术对此不作限定,针对不同的系统都可以根据以上方式开发拖拽服务的应用程序以支持通过拖拽的方式跨设备传输数据。
227.根据以上示例可知,通过对终端设备的系统进行改进或者添加新的应用服务,使得两个终端之间可以传输数据。在此基础上,介绍本技术的数据的传输方法,图3a和图3b分别示出根据本技术一实施例的数据的传输方法的流程图。图3a所示的数据的传输方法可以应用于图1中的第一终端设备,也就是可以应用于源端设备,传输方法可以包括:
228.步骤s100,第一终端设备在检测到针对所述第一终端设备上的对象的第一跨设备传输操作时,获取所述对象的数据类型,其中,所述第一跨设备传输操作用于发起将所述对象传输至第二终端设备的过程;
229.步骤s101,向所述第二终端设备发送携带有所述数据类型的判断请求,
230.步骤s102,接收来自所述第二终端设备基于所述数据类型做出的判断结果,所述判断结果表示所述对象是否能够传输至第二终端设备;
231.步骤s103,显示所述判断结果。
232.图3b所示的方法可以应用于图1中的第二终端设备,也就是可以应用于接收端设备,在该实施方式中,数据的传输方法可以包括:
233.步骤s201,接收第一终端设备发送的判断请求,其中,所述判断请求携带有待传输的对象的数据类型,所述判断请求用于请求所述第二终端设备判断所述数据类型的对象能否传输至第二终端设备;
234.步骤s202,根据所述数据类型做出判断结果,并将所述判断结果发送给所述第一终端设备,以使所述第一终端设备显示所述判断结果。
235.在步骤s100中,第一跨设备传输操作用于发起将对象传输至第二终端设备的过程,可以是指通过第一跨设备传输操作可以唤起拖拽服务系统。也就是说,用户在第一终端设备的显示屏幕上通过第一跨设备传输操作可以触发dragstart事件,在dragstart事件中能够通过setdata()指定拖拽数据(对象),触发dragstart事件可以唤起拖拽服务系统,发起将对象传输至第二终端设备的过程。
236.如图2所示,第一终端设备的framework层可以监测用户操作,并且可以在第一终端设备和第二终端设备预先设置能够唤起拖拽服务系统的操作作为预设操作,第一终端设备可以将监测到的用户操作与预设操作进行比较,当用户操作与预设操作相匹配时,第一终端设备可以确定有针对某一对象的第一跨设备传输操作,相当于检测到针对第一终端设备上的对象的第一跨设备传输操作,可以唤起拖拽服务系统。
237.在一种可能的实现方式中,第一跨设备传输操作可以是指从发起操作到操作停留的过程,操作停留的位置在第一终端设备的预设区域内(比如显示屏幕的边缘等)时,表示要进行跨设备传输,可以唤起拖拽服务系统。
238.在一种可能的实现方式中,第一跨设备传输操作可以为拖拽操作,为便于说明,以下以拖拽操作为例进行描述,但本技术不限于此,针对不同的终端设备类型(例如,触屏设备或非触屏设备)或者不同的对象,对应的第一跨设备操作也可以不同。
239.举例来说,对于触屏设备,预设操作可以是用户手指或手掌长按对象、拖拽对象到屏幕的边缘,或者,采用触控笔轻点对象后立即滑动到屏幕的边缘,滑动的方向不限定,可以向下、向上、向左、向右或者向其他方向,或者,选中一段文本后,长按选中的文本调出的多项控件中可以包括“跨设备传输”控件,在“跨设备传输”控件被触发时可以唤起拖拽服务系统,也就是说,预设操作可以是“跨设备传输”控件被触发,等等。对于非触屏设备,预设操
作可以是鼠标移动到对象,手指点击鼠标左键不放开并拖拽到显示屏幕的边缘,或者,手指控制触控面板选中对象并拖拽到屏幕的边缘,等等。需要说明的是,以上第一终端设备检测到第一跨设备传输操作的可能的方式仅仅是本技术的一些示例,本技术不限于此。
240.本技术的对象可以是文档、文件夹、文本、图片,还可以是音频、视频或者链接等。第一终端设备可以通过数据的扩展名识别数据的类型,比如说对于对象,通过识别对象的扩展名,可以获取对象的数据类型。以视频为例,若对象的扩展名中带有“.avi”、“.mov”等表示影像的扩展名,即可识别对象的数据类型为视频;以音频为例,若对象的扩展名中带有“.wav”、“.mp4”、“.mp3”等表示声音的扩展名,即可识别对象的类型为音频。
241.在一种可能的实现方式中,在dragstart事件中通过setdata()指定的拖拽数据可以包含两部分信息,分别是数据类型和数据的值,也就是对象的数据类型和对象对应的数据,第一终端设备在获取对象的数据类型后,可以添加到dragstart事件的setdata()中,触发dragstart事件唤起拖拽服务系统时,拖拽服务系统可以根据dragstart事件中指定的数据类型向第二终端发送判断请求时,判断请求中可以携带对象的数据类型。
242.图4示出根据本技术一实施例的数据的传输方法的应用场景的示意图。如图4所示,设备1和设备2之间以无线方式配对连接,设备2和设备3之间可以以无线方式配对连接、也可以通过有线方式进行连接,设备1和设备3之间以无线或有线方式连接。设备1、设备2、设备3之间可以进行本技术实施例中的跨设备数据传输。
243.在一种可能的实现方式中,设备1和设备2可以是触屏的终端设备,例如,智能手机、平板电脑等,设备1和设备2上都可以安装有多个应用程序,例如图4所示设备1和设备2都可以安装有应用a和应用b,应用a可以是指社交、邮件、浏览器等“富媒体类”应用,内容可以包括文本、图片、文档、链接等,应用b可以是指文件管理类应用,如文件管理器、图库,内容主要包括图片、视频、音频和文档,无单独的文本内容。设备3可以是非触屏类设备,比如说笔记本电脑,设备3上可以安装有程序a、存储有文件夹,程序a可以是指windows/mac系统中的office软件、浏览器等应用程序。图4展示出一些示例的对象的数据类型和可能的展现形式,展现形式可以是位于应用程序中的,或者存档管理,本技术不限于图4中表示的对象的类型和展现形式。
244.对于步骤s101,如图2所示,第一终端设备可以通过唤起的拖拽服务系统向第二终端设备的拖拽服务系统发送判断请求,判断请求中包括对象的数据类型。因此,在步骤s201中,第二终端设备接收到第一终端设备发送的判断请求,判断请求中携带有待传输的对象的数据类型,且判断请求是用于请求第二终端设备判断具有上述数据类型的对象能否传输到第二终端设备。
245.对于步骤s202,在一种可能的实现方式中,第二终端设备可以根据对象的数据类型和第二终端设备类型判断能否传输到第二终端设备,每一种类型的第二终端设备可以预设有允许传输或不允许传输的数据类型。比如说,对象为文本文件或者文件夹,第二终端设备为蓝牙音箱,那么第二终端设备的判断结果可以为不能传输至第二终端设备;对象为音频文件或者带有音频的视频文件,第二终端设备为蓝牙音箱,那么,第二终端设备的判断结果可以为能够传输至第二终端设备。
246.对于步骤s202,在一种可能的实现方式中,第二终端设备还可以根据对象的数据类型和第二终端设备安装的应用服务判断能否传输到第二终端设备。第二终端设备安装的
应用服务可以是指第二终端设备上安装的应用程序或者软件程序,比如,智能手机上安装的app,笔记本电脑上安装的软件程序等。
247.以上仅仅是示例性给出两种根据对象的数据类型判断是否能够传输至第二终端设备的实现方式,本技术不限于此。
248.第二终端设备在做出判断结果后,可以将判断结果通过拖拽服务系统发送给第一终端设备的拖拽服务系统,第一终设备的拖拽服务系统在接收到判断结果后,可以发送给framework层,由framework层控制第一终端设备的显示屏幕显示判断结果。
249.判断结果的显示方式可以有多种,图5a和图5b分别示出根据本技术一实施例的显示判断结果的方式的示例。图5a示出两个示例的第一终端设备的显示界面的示意图,图5b示出另两个示例的第一终端设备的显示界面的示意图。图5a和图5b中以虚线示意了显示屏幕的边缘区域。
250.比如说,如图5a所示,以鼠标拖拽的方式为例,可以在显示屏幕上鼠标的指针的附近显示小图标,小图标的不同颜色可以表示不同的判断结果,比如说小图标为绿色表示能够传输至第二终端设备、小图标为红色表示不能传输至第二终端设备,或者,如图5a所示,小图标的不同形状可以表示不同的判断结果,小图标为对勾“√”可以表示能够传输至第二终端设备、小图标为叉号
“×”
可以表示不能传输至第二终端设备,等等。
251.如图5b所示,以手指操作为例,可以在对象的图标(例如缩略图)附近显示提示信息,从而显示判断结果,比如说,可以在对象的图标右上角显示提示信息“xx无法接收”或者“xx可接受”来分别表示不同的判断结果,其中“xx”可以表示第二终端设备的标识信息,鼠标操作的示例也可以采用这种方式显示判断结果。
252.所显示的判断结果还可以包括产生判断结果的原因,例如“设备b无法接收.avi格式文件”等,以便于用户更直观地获知原因并采取相应的解决措施。
253.需要说明的是,以上显示判断结果的方式仅仅是本技术的一些示例,不以任何方式限制本技术,只要能够直观的将判断结果展示给用户即可。
254.通过本技术上述实施方式的数据的传输方法,能够根据对象的数据类型和接收端的匹配程度为用户提供直观的视觉反馈,避免错误操作和反复操作,提高操作效率。
255.相关技术中,仅仅能够实现文本、文档、图片、文件这些内容的拖拽,可拖拽的内容有限。为了解决这一技术问题,本技术在dragevent事件中添加了扩展的字段用于扩展可拖拽的内容。图6示出根据本技术一实施例的dragevent事件包含的字段的示意图。如图6所示,其中,虚线框出的字段label和mimetypes是在clipdescription对象上扩展的字段,其中label为string(字符串)类型,可以扩展action动作,例如“open”,mimetypes为对象的数据类型,通过以上两个扩展的字段可以扩展拖拽对象以及对拖拽对象的动作。
256.图6中dragevent事件直接连接的左侧的“action”是指drag、dragstart、dragenter、dragend、drop等动作,是指的一系列的拖拽动作;x、y可以表示拖拽动作停留的位置的坐标,clipdata可以是指拖拽的数据的一些属性,比如说clip对象的mime类型、clipdata.item对象中包含文本、网页文本、uri或者intent数据;result可以是记录返回的判断结果的字段。需要说明的是,图6示出的仅仅是本技术扩展字段的一种方式,本技术不限于此,还可以在dragevent事件上其他合适的对象或位置上扩展字段。
257.因此,在一种可能的实现方式中,所述判断请求可以携带有数据类型字段和/或扩
展的数据类型字段,数据类型字段和扩展的数据类型字段用于表示所述对象的数据类型。这样,在第一终端设备的拖拽服务系统将判断请求发送给第二终端设备时,第二终端设备可以根据数据类型字段和/或扩展的数据类型字段判断是否能够处理第一终端设备准备移动至第二终端设备的对象,得到判断结果。
258.根据本技术上述实施方式的数据的传输方法可以扩展可拖拽的内容,扩展的数据类型字段可以指示自定义的、或适用于特定设备或应用的、或新出现的数据类型,使得跨设备传输数据时适用更多种数据类型和设备,便于用户操作。
259.举例来说,相关技术中是无法实现对一些社交平台上的公众号文章的拖拽操作的。根据本技术的实施方式,可以在dragevent事件的扩展的字段添加数据类型“weblinks”,对应的action可以为在浏览器中打开或者在社交平台对应的应用中打开等,可以用不同的字符串表示不同的动作,在一示例中,对于“weblinks”数据类型,如果没有设置(例如,label字段为空)的话可以默认为用浏览器打开。
260.图7示出根据本技术一实施例的应用场景的示意图,如图7所示,假设第一终端设备和第二终端设备都为智能手机,第一终端设备打开了应用a中的带有链接的公众号文章(链接可以为对象),针对这类对象设置的预设操作可以为大面积触摸然后向一侧滑动,第一终端设备检测到针对当前显示的页面的大面积触摸然后向一侧滑动的操作时,可以确定要针对应用a中打开的带有链接的公众号文章进行跨设备传输。比如说,如图7所示,当用户通过整个手掌或者手掌的大部分触摸屏幕并向右滑动,触发dragstart事件,第一终端设备可以向第二终端设备发送判断请求,判断请求表中携带有扩展的数据类型字段:数据类型为“weblinks”,label字段为空。第二终端设备接收到判断请求,第二终端设备为智能手机,本地安装有浏览器,因此,判断结果可以为能够传输至第二终端设备,第二终端设备可以将判断结果发送给第一终端设备,第一终端设备在显示屏幕上显示判断结果,用户看到判断结果后,如果释放了拖拽手势,也就是第一终端设备检测到drop操作,可以将上述链接、以及扩展的数据类型字段发送给第二终端设备,第二终端设备根据扩展的数据类型识别到对象的数据类型为“weblinks”、label字段为空,因此,采用默认的方式打开对象,如图7所示,在浏览器中打开链接。
261.图8a和图8b分别示出根据本技术一实施例的数据的传输方法的流程图,图8a所示的传输方法可以应用于第一终端设备,如图8a所示,该实施方式的传输方法可以包括:
262.步骤s800,第一终端设备在检测到针对所述第一终端设备上的对象的第一跨设备传输操作时,获取所述对象的数据类型,其中,所述第一跨设备传输操作用于发起将所述对象传输至第二终端设备的过程;
263.步骤s801,向所述第二终端设备发送携带有所述数据类型的判断请求,
264.步骤s802,接收来自所述第二终端设备基于所述数据类型做出的判断结果,所述判断结果表示所述对象是否能够传输至第二终端设备;
265.步骤s803,显示所述判断结果;
266.步骤s804,在所述判断结果为能够传输至第二终端设备且检测到第二跨设备传输操作时,向所述第二终端设备发送所述对象,所述第二跨设备传输操作用于确认将所述对象传输至第二终端设备进行显示。
267.其中,关于步骤s800-s803可以参见图3a对应的实施方式部分中步骤s100-s103的
描述,不再赘述。
268.对于步骤s804,其中,第二跨设备传输操作与第一跨设备传输操作对应,比如说,第一跨设备传输操作为拖拽操作,那么第二跨设备传输操作可以为拖拽释放操作。以非触屏设备为例,若第一跨设备传输操作为手指点击鼠标左键不放开并拖拽,那么第二跨设备传输操作可以为,释放鼠标左键,或者以触屏设备为例,若第一跨设备传输操作为手指或触摸笔按住并拖拽对象,那么第二跨设备传输操作可以为手指或触摸笔离开触摸屏。
269.向第二终端设备发送对象可以是指将对象对应的数据、数据类型、对对象的处理方式的指示信息等中的一者或多者发送给第二终端设备,第二终端设备可以根据处理方式对数据进行处理。其中,在一种可能的实现方式中,如上所述,对对象的处理方式的指示信息也可以是携带在dragstart事件中的。
270.图8b所示的传输方法可以应用于第二终端设备,如图8b所示,该实施方式的传输方法可以包括:
271.步骤s301,接收第一终端设备发送的判断请求,其中,所述判断请求携带有待移动的对象的数据类型,所述判断请求用于请求所述第二终端设备判断所述数据类型的对象能否传输至第二终端设备;
272.步骤s302,根据所述数据类型做出判断结果,并将所述判断结果发送给所述第一终端设备,以使所述第一终端设备显示所述判断结果;
273.步骤s303,在接收到所述第一终端设备发送的所述对象时,根据所述数据类型、本地存储状态、第二终端设备安装的应用服务中的一项或多项对所述对象进行处理。
274.其中,关于步骤s301-s302可以参见图3b对应的实施方式部分步骤s201-s202的描述,不再赘述。
275.对于步骤s303,以本地存储状态为例,在本地存储状态为不具备存储能力时,第二终端设备可以根据第二终端设备安装的应用服务打开对象;在本地存储状态为具备存储能力时,第二终端设备可以在本地存储对象。
276.在一种可能的实现方式中,第二终端设备本地存储状态为不具备存储能力,第二终端设备可以根据对象的数据类型选择第二终端设备安装的应用服务打开对象,或者,第二终端设备也可以显示可选择的第二终端设备安装的应用服务的选项,根据用户选择的应用服务打开对象。
277.在一种可能的实现方式中,第二终端设备本地存储状态为具备存储能力,第二终端设备除了在本地存储对象外,还可以根据第一终端设备指定的操作对对象进行处理,如上所述,第一终端设备向第二终端设备发送对象时也发送了对对象的处理方式的指示信息,因此,第二终端设备可以根据该处理方式对对象进行处理。若第一终端设备未指定对对象的处理方式,第二终端设备可以根据对象的数据类型选择安装的应用服务打开对象,或者,如上所述,根据用户选择的应用服务打开对象。
278.需要说明的是,以上仅仅是本技术示出的对对象的几种处理方式的示例,不以任何方式限制本技术。
279.图8c示出根据本技术一实施例的应用场景的交互流程图。如图8c所示,设备a为第一终端设备的示例,设备b为第二终端设备的示例,设备a(framework层)检测到针对本地对象的拖拽操作,设备a的framework层生成dragstart事件,唤起设备a的拖拽服务系统,设备
a的拖拽服务系统可以根据dragstart事件指定的对象的数据类型生成判断请求,判断请求可以为判断是否允许拖入的请求,设备a的拖拽服务系统将判断请求发送给设备b的拖拽服务系统,设备b的拖拽服务系统将判断请求发送给设备b上的windowmanager,再由windowmanager发送给wms,wms可以将判断请求发送给相应的应用服务(app),由应用服务响应于判断请求做出判断结果,并将判断结果一步步返回给设备a,设备a可以显示判断结果。如果判断结果为允许拖入,设备a的framework层检测到拖拽释放操作,可以向设备a的拖拽服务系统发送对象,设备a的拖拽服务系统向设备b的拖拽服务系统传输对象,设备b的拖拽服务系统接收到对象后,可以保存对象,并通过notifydraganddrop消息下发给framework层和应用服务层以对对象进行处理。
280.根据上述实施方式的数据的传输方法可以简化用户操作,通过简单的拖拽等动作不仅实现对象的显示位置的改变、复制、传输等,还可以在接收端直接根据对象的数据类型进行相应的处理,比如除了存储外,还可以选择应用服务打开、用当前打开的应用服务打开等等,无需用户在接收端进一步操作,极大的简化了用户操作。
281.图9a示出根据本技术一实施例的数据的传输方法的流程图。图9a示出的是步骤s804中的步骤“向所述第二终端设备发送所述对象”包括的过程的一个示例的流程图,如图9a所示,步骤“向所述第二终端设备发送所述对象”可以包括:
282.步骤s8041,将所述对象暂存在第一终端设备本地;
283.步骤s8042,向所述第二终端设备发送数据传输请求,所述数据传输请求用于传输所述对象;
284.步骤s8043,在接收到所述第二终端设备返回的接受所述数据传输请求的第一响应信号时,根据所述第一响应信号发送所述对象;
285.步骤s8044,在接收到所述第二终端设备返回的不接受所述数据传输请求的第二响应信号时,撤销发送所述对象。
286.图9b示出根据本技术一实施例的数据的传输方法的流程图。图9b的传输方法可以应用于第二终端设备,该实施方式的传输方法可以包括:
287.步骤s204,在接收到第一终端设备发送的数据传输请求时,显示处理选项;
288.步骤s205,根据针对所述处理选项的选择操作确定响应于所述数据传输请求的响应信号,并将所述响应信号发送给第一终端设备。
289.也就是说,第一终端设备在判断结果为能够传输至第二终端设备且检测到第二跨设备传输操作时,可以先将对象暂存在第一终端设备本地,并向第二终端设备发送数据传输请求,根据第二终端设备返回的针对数据传输请求的响应信号对对象进行处理。
290.第二终端设备在接收到第一终端设备发送的数据传输请求时,显示处理选项,处理选项可以是指针对对象的处理选项,比如说,可以是以控件形式显示的多个可选择的控件,也可以是可以选择的不同手势的提示信息。
291.在一个示例中,第二终端设备以控件形式显示多个可选择的控件,比如说,“撤销”、“延迟发送”、“接收”等等。在另一个示例中,第二终端设备以可选择的不同手势的提示信息显示处理选项,比如说,在显示屏幕上显示向左滑动的手势表示撤销发送,向右滑动的手势表示接收,向上或者向下滑动的手势表示延迟发送。
292.在步骤s205中,响应于所述数据传输请求的响应信号可以包括第一响应信号和第
二响应信号。其中,第一响应信号可以为表示接受所述数据传输请求的信号,比如说,用户选择了接收或者延迟发送,或者用户向右滑动、向上滑动等等,表示第二终端设备允许发送所述数据传输请求对应的对象,这种情况下,第二终端设备确定的响应于数据传输请求的为第一响应信号,将第一响应信号发送给第一终端设备。第二响应信号可以表示不接受所述数据传输请求的信号,也就是说,第二终端设备不允许第一终端设备发送数据传输请求对应的对象,比如说,用户选择了撤销,或者用户向左滑动等等,第二终端设备可以根据用户针对处理选项的选择操作确定响应于数据传输请求的为第二响应信号,将第二相应信号发送给第一终端设备。
293.步骤s8043中,第一终端设备在接收到第一响应信号时,根据第一响应信号发送对象,例如,在接收到所述第一响应信号时,可以直接发送对象或者延迟发送对象。延迟发送的延迟时间可以是第一终端设备预先设定的,也可以是通过第二终端设备反馈的第一响应信号指定的,比如说,第二终端设备在显示处理选项时,对于延迟发送的选项还可以向用户提供延迟时间选择的选项,或者提供延迟时间的输入框,通过输入框采集用户输入的延迟时间,第二终端设备可以根据用户选择或者输入的延迟时间生成第一响应信号,并将第一响应信号发送给第一终端设备,第一终端设备可以根据第一响应信号携带的延迟时间延迟发送对象。
294.步骤s8044中,第一终端设备在接收到第二响应信号时,撤销发送对象。在撤销发送对象后,在第一终端设备的前台可以保存(暂存)对象一定时间,保存时间的时长可以是第一终端预先设置的,也可以实时根据前台保存的数据量进行调整,比如说,在保存的数据量超过设定的阈值时,可以删除最早保存的数据,等等。
295.在一种可能的实现方式中,在撤销发送对象后还可以包括:
296.在检测到针对暂存的所述对象的调出指令时,调出暂存的对象,并向所述第二终端设备发送所述数据传输请求。
297.该步骤只要在将多数对象暂存在第一终端设备本地之后就可以,在撤销发送对象后仅仅是一个示例,具体的场景不限于此。
298.也就是说,在撤销发送对象后,如果用户又想继续发送对象,那么可以通过调出指令调出暂存的对象,调出指令可以是第一终端设备检测到用户的调出操作时检测到的,调出操作可以是预先设置的操作,比如说沿着屏幕的一侧向中间滑动。第一终端设备还可以向第二终端设备重新发送数据传输请求,后续的过程可以参见上文的描述。
299.根据上述实施方式的数据的传输方法,可以在接收端设备的显示屏幕上显示可选择的针对拖入的对象的操作,便于用户根据实际的需求调整传输的过程或处理的方式,使得第二终端设备可以根据实际需求对对象进行处理。
300.在一种可能的实现方式中,用户也可以采用上文所述的过程将多个对象暂存在第一终端设备的前台,比如向第二终端设备发送第一个对象,然后再向第二终端设备发送第二个对象,第一个对象和第二个对象都暂存在第一终端设备的前台,这种情况下,第二终端设备若连续接收到多个数据传输请求,提供的处理选项与仅接收到一个数据传输请求可以不同,比如说,可以提供“全部接收”、“全部延迟”,第二终端设备还可以显示多个对象的缩略图,在每个对象的缩略图附近显示选中控件供用户选择,用户可以选择要接收的对象,再选择“接收”或者“延迟接收”或者“撤销”,等等。第二终端设备可以根据检测到的选择操作
对对象进行处理。
301.图9c示出根据本技术一实施例的数据的传输方法的流程图。图9c的传输方法可以应用于第二终端设备,该实施方式的传输方法可以包括:
302.步骤s206,在接收到所述第一终端设备发送的所述对象时,若第二终端设备具备存储能力,则将所述对象暂存在本地;
303.步骤s207,显示处理选项;
304.步骤s208,根据针对所述处理选项的选择操作对所述对象进行处理。
305.也就是说,在步骤s804中,第一终端设备向第二终端设备发送对象之后,第二终端接收到对象时,可以先判断本地是否具备存储能力,如果具备存储能力,则可以将对象暂存在本地,比如说暂存在前台。然后显示处理选项,显示的处理选项以及根据针对处理选项的选择操作对对象进行处理的过程可以参见上文中对于步骤s204-s205部分的描述,不再赘述。
306.在一种可能的实现方式中,将所述对象暂存在本地之后,若第二终端设备在检测到针对暂存的对象的拖拽操作时,可以判断拖拽操作停留的位置是否为可拖入位置生成判断结果并显示判断结果,比如说第二终端设备可以根据拖拽操作停留的位置在当前显示界面中的坐标和/或对象的数据类型判断该位置是否为可拖入位置。
307.在一个示例中,若第二终端设备当前显示界面为桌面或者文件夹,若拖拽操作停留在桌面上的空白位置或文件夹上,则判断为可拖入位置。若拖拽操作释放,则第二终端设备可以直接将对象存储在本地,例如存储在系统盘或者文件夹中,还可以根据对象的数据类型选择应用服务打开对象,或者如上文所述,根据用户选择的应用服务打开对象。
308.在另一个示例中,若拖拽操作停留在应用服务的快捷方式图标上,则第二终端设备可以根据对象的数据类型与应用服务判断是否为可拖入位置。举例来说,若应用服务可以打开该数据类型的对象,则可以判断为可拖入位置,若拖拽操作释放,则第二终端设备可以采用应用服务打开对象;若应用服务不能打开该数据类型的对象,则可以判断为不可拖入位置,若拖拽操作释放,则可以将对象保存在本地,还可以根据对象的数据类型选择第二终端设备安装的应用服务打开对象,或者如上文所述,根据用户选择的应用服务打开对象。
309.在另一个示例中,若第二终端设备当前打开了应用服务,则第二终端设备可以根据拖拽操作在应用服务的当前显示界面中停留的位置和对象的数据类型判断该位置是否为可拖入位置。
310.在一种可能的实现方式中,第一终端设备和第二终端设备的应用服务可以预先在framework层注册拖拽监听,例如向framework层的wms注册拖拽监听。这样,第一终端设备和第二终端设备的framework层在检测到拖拽事件或者接收到另一终端设备发送的拖拽事件时,可以将拖住事件发送给对应的应用服务,由应用服务根据拖拽事件可以判断对象是否可拖入。
311.如图2所示,第二终端设备的framework层可以将捕捉到的上述位置的坐标和对象的数据类型生成drag_location事件,将drag_location事件发送给相应的应用服务,如上所述的第二终端设备打开的应用服务,应用服务可以根据该坐标和数据类型判断该坐标对应的位置是否可拖入上述数据类型的对象,若可拖入,则在第二终端设备的当前显示界面中显示判断结果,具体的显示方式可以参见图5a或者图5b中的示例。
312.图9d和9e分别示出根据本技术一实施例的终端设备的显示界面的示意图。如图9d所示,第一终端设备在检测到第二跨设备传输操作时,可以在将对象暂存在本地后向第二终端设备发送数据传输请求,也可以直接向第二终端设备发送对象,第二终端设备可以显示处理选项,第二终端设备(例如智能手机)显示的是桌面或者某一打开的文件夹,用户可以在第二终端设备内选择处理的方式(例如,撤销、延迟等)、也可以继续拖动对象,若第二终端设备检测到将对象拖拽到空白位置,那么第二终端设备可以直接将对象存储在本地,例如存储在系统盘或者文件夹中,还可以根据对象的数据类型选择应用服务打开对象,或者如上文所述,根据用户选择的应用服务打开对象,图9d中的第四个显示屏幕示出打开对象(图片)的场景。
313.如图9e所示,第二终端设备显示的是应用服务打开的场景,第二终端设备若捕获到用户的拖拽操作停留在应用服务的当前显示界面中的某一位置,可以根据该位置的坐标和对象的数据类型判断是否为可拖入位置。如图9e所示,若检测到拖拽释放操作,且释放前拖拽操作停留的位置是可以拖入对象的,则第二终端设备可以在该位置打开对象,如图9e中的第四个显示屏幕所示,对象在即时消息类应用服务的对话界面中打开。
314.图9f示出根据本技术一实施例的具体应用场景的示意图,如图9f所示,第二终端设备根据用户的操作打开了邮件服务新建了一封邮件,第二终端设备接收到了第一终端设备发送的数据传输请求或者将第一终端设备发送的对象暂存在本地后,在显示界面上显示了处理选项,包括“撤销”、“从xx拖出”、对象的缩略图等,当用户在第二终端设备的显示界面上拖拽对象(例如拖拽对象的缩略图)时,根据拖拽操作在新建的邮件中停留的位置以及对象的数据类型实时显示是否允许该数据类型的对象拖入该位置。
315.若用户选择了取消拖拽,那么对象是暂存在第二终端设备的前台或者暂存在第一终端设备的前台。以暂存在第二终端设备的前台为例,第二终端设备在检测到取消拖拽的操作后,可以仍然将对象暂存在前台,第二终端设备可以收起处理选项,如图9g所示示例。若用户想要再次对对象进行处理,可以采用滑动的方式拉出处理选项,第二终端设备根据针对处理选项的选择操作对对象进行处理。根据上述实施方式的数据的传输方法,可以在接收端设备的显示屏幕上显示可选择的针对拖入的对象的操作,便于第二终端设备根据实际需求对对象进行处理。
316.在一种可能的实现方式中,第一终端设备与两个以上候选终端设备连接,这里的连接可以包括有线连接和/或无线连接,本技术对此不作限定。图10示出根据本技术一实施例的应用场景的示意图。如图10所示,第一终端设备与三个候选终端设备(候选终端设备1、候选终端设备2和候选终端设备3)以无线方式连接。在该实施方式中,本技术的数据的传输方法还可以包括:从两个以上候选终端设备中,确定所述第二终端设备。
317.在一种可能的实现方式中,所述第一终端设备在检测到针对所述第一终端设备本地上的对象的第一跨设备传输操作时,根据所述第一跨设备传输操作的停留位置,从所述两个以上候选终端设备中确定第一跨设备传输操作对应的第二终端设备。
318.在一种可能的实现方式中,可以预先设置第一终端设备的显示屏幕上不同位置对应的终端设备,拖拽到相应的位置可能表示用户要将对象拖入该位置对应的终端设备。以图4为例,对于设备2,在配对时可以设置设备2的显示屏幕左侧区域对应设备1,右侧区域对应设备2。左侧区域或者右侧区域仅仅是本技术的一个示例,本技术不限于此,例如还可以
是上侧区域或者下侧区域。每块区域的大小可以根据实际情况设置,例如,如果仅仅对左侧区域和右侧区域设置了对应的终端设备,可以将显示屏幕左边的1/3设置为左侧区域,右边的1/3设置为右侧区域。
319.在一种可能的实现方式中,第一终端设备也可以在检测到针对所述第一终端设备本地上的对象的第一跨设备传输操作时,在显示屏幕上显示两个以上候选终端设备的信息,例如,可以是第二终端设备的标识信息,显示的形式可以是在显示屏幕的固定位置显示“图标和/或文字”的方式,其中,图标可以包括代表候选终端设备的图标、候选终端设备的图标、候选终端设备上安装的应用服务的图标等,文字可以为候选终端设备的标识信息、对对象的处理方式的选项等。
320.图11a示出根据本技术一实施例的第一终端设备的显示界面的示意图。图11a中示出了第一终端设备显示两个以上候选终端设备信息的示例,如图11a所示,第一终端设备也可以在检测到针对所述第一终端设备本地的对象的第一跨设备传输操作时,在显示屏幕右侧边缘显示可拖入的抽屉(代表候选终端设备的图标的一个示例),每个抽屉可对应一个候选终端设备,例如,设备1~设备4,抽屉上可以显示对应的候选终端设备的设备标识。第一终端设备的边缘位置都可以显示可拖入的抽屉,图11a所示的仅仅是一个示例,不以任何方式限制本技术。
321.在一种可能的实现方式中,第一跨设备传输操作可以是指从发起操作到操作停留的过程,第一终端设备可以在检测到所述发起操作时,就在屏幕右侧边缘显示可拖入的抽屉,还可以在检测到操作停留、且停留的位置为屏幕边缘时,在第一跨设备传输操作停留的屏幕边缘显示可拖入的抽屉,本技术对具体的显示可拖入抽屉的过程不作限定。
322.在一种可能的实现方式中,根据所述第一跨设备传输操作的停留位置,从所述两个以上候选终端设备中确定所述第一跨设备传输操作对应的第二终端设备,可以包括:
323.根据所述第一跨设备传输操作的停留位置与所述两个以上候选终端设备的信息的显示位置之间的关系,确定所述第一跨设备传输操作对应的第二终端设备。
324.第一跨设备传输操作在移动过程中,可生成对象对应的缩略图,缩略图可跟随者手指或者鼠标的移动而移动,如图11a所示跟随手指的小图标。因此,第一终端设备可以根据第一跨设备传输操作停留时,对象的缩略图的停留位置与两个以上候选终端设备的信息的显示位置之间的关系,确定第一跨设备传输操作对应的第二终端设备。候选终端设备的信息可以是如上所述的抽屉以及设备的id等信息。
325.根据第一跨设备传输操作停留时,对象的缩略图的停留位置和两个以上候选终端设备的信息的显示位置之间的关系可以为:对象的缩略图的停留位置与两个以上候选终端设备的信息的显示位置都不重合;或者,对象的缩略图的停留位置与其中一个候选终端设备的信息的显示位置至少部分重合,比如,对象的缩略图的停留位置完全位于其中一个候选终端设备的信息的显示位置上或者与其中一个候选终端设备的信息的显示位置存在部分重合;或者,对象的缩略图的停留位置与其中两个或多个候选终端设备的信息的显示位置存在重合。
326.对于对象的缩略图的停留位置与两个以上候选终端设备的信息的显示位置都不重合的情况,第一终端设备可以确定当前没有选定第二终端设备,也就是没有选定接收端设备,如图11a所示。
327.图11b示出根据本技术一实施例的第一终端设备的显示界面的示意图,图11b示出了对象的缩略图的停留位置与其中一个候选终端设备(设备2)的信息的显示位置至少部分重合的情况的一个示例,图11b中缩略图与右侧边缘显示的第二个候选终端设备的信息部分重合,第一终端设备可以确定该候选终端设备为第二终端设备。
328.对于对象的缩略图的停留位置与其中两个或多个候选终端设备的信息的显示位置存在重合的情况,第一终端设备可以将信息的显示位置与对象的缩略图的停留位置重合最多候选终端设备确定为第二终端设备。第一终端设备判确定重合最多的候选终端设备为第二终端设备仅仅是本技术的一个示例,本技术不限于此。或者,第一终端设备也可以提示用户继续移动,直到能够确定第二终端设备。
329.图11c示出根据本技术一实施例的第一终端设备的显示界面的示意图。图11d示出根据本技术一实施例的第一终端设备的显示界面的应用场景示意图。
330.在一种可能的实现方式中,第一终端设备可以根据检测到的对两个以上候选终端设备的信息的触发指令确定第二终端设备、以及第二终端设备对对象的处理方式。在该实现方式中,向所述第二终端设备发送所述对象,可以包括:向所述第二终端设备发送所述对象以及指示信息,所述指示信息用于指示第二终端设备以所述处理方式处理所述对象。第二终端设备在接收到对象以及所述指示信息后,可以根据处理方式对对象进行处理。
331.图11c示出了第一终端设备显示两个以上候选终端设备信息的示例,第一终端设备可以根据选择操作确定第二终端设备,其中,选择操作可以是用户通过手指或触控笔点击候选终端设备的图标,或者通过鼠标点击候选终端设备的图标。在根据选择操作确定第二终端设备后,可以展示可选择的第二终端对对象的处理方式,如图11c中间的小窗口所示,小窗口的上部显示了已选的对象,还可以显示已选的对象的数量,也就是说,可以选择多个对象,小窗口的中部显示了候选的终端设备的信息,以设备图标和文字的形式显示了终端设备的信息,小窗口的下部还显示了已选中的候选终端设备(例如设备1)上安装的应用程序(例如应用1、应用2)以及可以对对象进行的处理方式的选项(例如存储、打开、复制等)。第一终端设备可以根据选择操作确定第二终端设备对对象的处理方式,这样,第一终端设备向第二终端设备发送对象时,还可以发送指示信息,指示第二终端设备以上述处理方式处理对象。
332.如图11c或者图11d所示,用户在小窗口中选择了第二终端设备、第二终端设备上安装的应用服务以及第二终端设备处理对象的处理方式(保存、打开等等)。这样,第一终端设备可以确定第二终端设备、以及第二终端设备对对象的处理方式。
333.在只存在一个候选终端设备作为第二终端设备的情况下,也可以在第一终端设备上显示该第二终端设备对对象的处理方式的选项,可在第一终端设备上通过针对选项的选择操作等方式,确定该第二终端设备对对象的处理方式。
334.根据以上实施方式的数据的传输方法,可以实现对多个终端设备之间的交互,且多个终端设备类型可以不同,使得用户才多个不同设备之间共享数据时更加便利。
335.对于图11a和图11b所示的显示抽屉的示例,需要说明的是,如果第一终端设备向第二终端设备发送对象:将对象暂存在本地可以是将对象与抽屉(即与候选终端设备)相对应地暂存,比如说,抽屉图标与一缓存空间关联,第一终端设备在检测到用户在抽屉进行了拖拽释放动作,可将拖拽释放动作对应的对象存储在该关联的缓存空间中。
336.在一种可能的实现方式中,第一终端设备在暂存对象后,如上所述,还可以显示第二终端设备对对象的处理方式的选项供用户选择,可在第一终端设备上通过针对选项的选择操作等方式,确定第二终端设备对对象的处理方式,然后向第二终端设备发送数据传输请求,数据传输请求中也可以携带有处理方式。通过这种方式,可以更加灵活的实现对对象的处理选择的方式。
337.第一终端设备向第二终端设备发送了数据传输请求,第二终端设备返回的是第二响应信号(如图9a和图9b所示的示例),第一终端设备接收到第二响应信号时,撤销发送对象,也可以采用与图9g类似的方式收起抽屉,仍然将对象暂存在缓存空间。若用户想要再次发送对象,可以采用滑动的方式拉出抽屉,再次拖拽对象进行传输。
338.在一种可能的实现方式中,根据所述第一跨设备传输操作的停留位置,从所述两个以上候选终端设备中确定所述第一跨设备传输操作对应的第二终端设备,还可以包括:
339.根据所述第一跨设备传输操作的停留位置与第一终端设备的边缘的位置关系确定所述第一跨设备传输操作对应的第二终端设备。
340.在一种可能的实现方式中,根据第一终端设备与连接的候选终端设备之间的位置关系,可以预先设置第一终端设备不同的边缘与候选终端设备之间的对应关系,这样,可以根据第一跨设备传输操作的停留位置与第一终端设备的边缘的位置关系确定所述第一跨设备传输操作对应的第二终端设备。
341.或者,在另一种可能的实现方式中,本技术的终端设备中可以安装有位置感应器,可以感应与其他终端设备之间的位置关系,在第一终端设备捕获到第一跨设备传输操作停留在第一终端设备的边缘时,可以启用感应器感应该边缘放置的候选终端设备,并将该边缘放置的候选终端设备作为第二终端设备。
342.图12a示出根据本技术一实施例的数据的传输方法的流程图,图12a示出的方法可以应用于第一终端设备,该实施方式的传输方法在步骤s100-s103的基础上,还可以包括:
343.步骤s105,向所述第二终端设备发送显示指令,以指示所述第二终端设备根据所述显示指令和所述第二终端设备与所述第一终端设备之间的位置关系显示所述对象的第一图像,
344.所述第一终端设备上显示的所述对象的第二图像与所述第二终端设备上显示的所述对象的第一图像能够拼成所述对象的完整图像。
345.图12b示出根据本技术一实施例的数据的传输方法的流程图,图12b示出的方法可以应用于第二终端设备,在图3b所示的步骤s201-s202的基础上,该实施方式的传输方法还可以包括:
346.步骤s209,在接收到所述第一终端设备发送的显示指令时,根据所述显示指令和所述第二终端设备与所述第一终端设备之间的位置关系显示所述数据对应的对象的第一图像,
347.所述第一终端设备上显示的所述对象的第二图像与所述第二终端设备上显示的所述对象的第一图像能够拼成所述对象的完整图像。
348.其中,上述第一图像和第二图像可以是指对象的缩略图的一部分,对象的完整图像可以是指对象的完整缩略图。也就是说,在本实施方式中,可以根据第一终端设备和第二终端设备的位置关系显示对象对应的缩略图中的部分图像,比如说,第二终端设备在第一
终端设备的右侧,那么在第一终端设备确定第二终端设备后,可以向第二终端设备发送显示指令,显示指令中可以携带有当前第一终端设备显示的对象的第二图像,这样,第二终端设备就可以根据第二终端设备与第一终端设备的位置关系在第二终端设备的显示屏幕上显示对象的完整图像去掉第二图像的第一图像。
349.在一种可能的实现方式中,根据第二终端设备与第一终端设备的位置关系显示第一图像可以是指在第二终端设备的显示屏幕靠近第一终端设备的一侧显示第一图像。比如说,如上所述示例,第二终端设备在第一终端设备的右侧,那么可以在第二终端设备的显示屏幕的左侧显示第一图像。
350.上述第二终端设备的显示屏幕靠近第一终端设备的一侧可以是预先根据第二终端设备和第一终端设备之间的初始位置关系设置的,也可以是实时感应的两者的位置关系。比如说,预先设置了第二终端设备和第一终端设备的位置关系,比如说,第二终端设备位于第一终端设备的右侧,那么第二终端设备在接收到显示指令时,即使第二终端设备的实际位置不是在第一终端设备的右侧,第二终端设备可以在左侧显示第一图像。又比如说,如上所述第一终端设备和第二终端设备上都可以安装有位置感应器,第二终端设备可以实时感应与第一终端设备的位置关系,第二终端设备在接收到显示指令时,如果感应到第一终端设备位于第二终端设备的左侧,那么可以在显示屏幕的左侧显示第一图像。
351.若第一终端设备连接一个第二终端设备,或者从两个以上候选终端设备中确定了第二终端设备之后,第一终端设备可以向第二终端设备发送显示指令,显示指令中可以携带有第一终端设备显示的对象的第二图像,这样,第二终端设备就可以根据显示指令以及第二终端设备与第一终端设备的位置关系在第二终端的显示屏幕上显示对象的完整图像去掉第二图像的第一图像。
352.在一种可能的实现方式中,步骤s104中的“向所述第二终端设备发送所述对象”还可以包括:若检测到在显示屏幕上显示的所述对象的第二图像的面积满足发送条件,则向所述第二终端设备发送所述对象。
353.其中,发送条件可以是指第二图像的面积与完整图像的面积之间的关系满足一定比例时可以发送对象,若第二图像的面积与完整图像的面积之间的关系不满足一定比例时,则即使检测到第二跨设备传输操作时,也不向第二终端设备发送对象。比如说,第二图像的面积与完整图像的面积的比例小于比例阈值,则在检测到第二跨设备传输操作时,向第二终端设备发送对象,第二图像的面积与完整图像的面积的比例不小于比例阈值,则在检测到第二跨设备传输操作时,也不向第二终端设备发送对象。其中的比例阈值可以是预先设置的,例如可以为50%。
354.图13a示出根据本技术一实施例的应用场景的示意图,图13b示出根据本技术一实施例的跨屏显示的示意图。如图13a所示,第一终端设备的不同的边缘的位置可以与候选终端设备对应,第一终端设备左侧边缘的位置与候选终端设备1对应,第一终端设备右侧边缘的位置与候选终端设备2对应,第一终端设备上侧边缘的位置与候选终端设备3对应。这样,根据上文所述,根据所述第一跨设备传输操作的停留位置与第一终端设备的边缘的位置关系可以确定所述第一跨设备传输操作对应的第二终端设备。
355.如图13a所示,如果第一跨设备传输操作的停留位置为第一终端设备的右侧边缘,那么候选终端设备2可以为第二终端设备。此时,第一终端设备可以向第二终端设备发送显
示指令,显示指令中可以携带有第一终端设备显示的对象的第二图像,这样,第二终端设备就可以根据显示指令以及第二终端设备与第一终端设备的位置关系在第二终端的显示屏幕上显示对象的完整图像去掉第二图像的第一图像,如图13a所示,在候选终端设备2的左侧边缘显示第一图像。若第一终端设备检测到拖拽释放动作,此时,第一终端设备上显示的第二图像面积小于完整图像的一半,也就是第二图像的面积与完整图像的面积的比例小于比例阈值,因此,第一终端设备可以向第二终端设备发送对象。向第二终端设备发送对象的具体过程可以参见上文对于步骤s804描述的部分以及图9a-图9c所示的实施例,本技术不再赘述。
356.在图13b所示的具体的应用场景中,第二终端设备当前打开了应用服务,如图13b所示的示例,第二终端设备打开了即时消息应用的聊天窗口。第一终端设备检测到第一跨设备传输操作停留在第一终端设备的显示屏幕的右侧边缘,可以向第二终端设备发送显示指令,第二终端设备在显示屏幕的左侧边缘显示对象的第二图像。
357.在一种可能的实现方式中,第一终端设备发送的显示指令中,还可以携带有对象的数据类型,第二终端设备可以根据数据类型、当前打开的应用服务、第二终端设备上安装的应用服务、第二终端的本地存储状态等信息判断能否接收对象作出判断结果实时反馈给第一终端设备。
358.在第一终端设备检测到第二跨设备传输操作时,若第一终端设备显示的对象的第二图像与完整图像的比例小于比例阈值、且判断结果为能够传输至第二终端设备,则第一终端设备可以向第二终端设备发送对象。第二终端设备接收到对象后,若当前打开的应用服务能够打开对象,则可以直接在当前打开的应用服务中打开对象,如图13b所示,第二终端设备可以在即时消息应用中打开对象(例如,图片),根据用户的进一步操作可以选择发送图片或者在本地存储图片;若当前打开的应用服务无法打开对象,第二终端设备可以根据对象的数据类型选择应用服务打开对象。第二终端设备还可以存储对象。
359.根据上述实施方式的数据的传输方法,以简洁、直观的展示出拖拽交互的过程,同时有利于用户判断拖拽时机,避免重复操作,简化用户操作。
360.图14a示出根据本技术一实施例的数据的传输方法的流程图。图14a示出的传输方法可以应用于第一终端设备,该实施方式的传输方法除了步骤s100-s103,还可以包括:
361.步骤s106,向所述第二终端设备发送显示状态请求,以使所述第二终端设备响应所述显示状态请求返回所述第二终端设备当前的显示界面,并显示所述显示界面。
362.图14b示出根据本技术一实施例的数据的传输方法的流程图。图14b示出的传输方法可以应用于第二终端设备,该实施方式的传输方法除了步骤s201-s202,还可以包括:
363.步骤s210,在接收到第一终端设备发送的显示状态请求时,向第一终端设备返回所述第二终端设备当前的显示界面,以使第一终端设备确定第一跨设备传输操作在所述显示界面中停留位置的位置坐标。
364.其中,所述第一跨设备传输操作为第一终端设备用于发起将所述对象传输至第二终端设备的过程的操作。
365.显示状态请求用于请求第二终端设备返回第二终端设备当前的显示界面,第二终端设备在接收到显示状态请求时,可以对当前的显示界面进行截屏得到截屏图像,将截屏图像返回给第一终端设备,或者也可以直接投屏到第一终端设备的显示界面上。本技术对
具体返回第二终端设备当前的显示界面的方式不作限定。
366.该实施方式的传输方法可以与图3a和图3b所示的示例结合,也可以与图11a、图11b所示的示例结合。也就是说,若第一终端设备连接一个第二终端设备,或者从两个以上候选终端设备中确定了第二终端设备之后,第一终端设备可以向第二终端设备发送显示状态请求。
367.在接收到第二终端设备返回的第二终端设备当前的显示界面后,第二终端设备可以继续监测第一跨设备传输操作,在一种可能的实现方式中,步骤s101可以包括:向所述第二终端设备发送判断请求,所述判断请求包括所述数据类型和所述第一跨设备传输操作停留的位置在所述显示界面中的坐标。也就是第二终端设备接收到的判断请求中可携带有第一跨设备传输操作停留的位置在所述显示界面中的坐标,步骤s202中的根据所述数据类型做出判断结果可以包括:根据所述数据类型和所述坐标做出判断结果。
368.举例来说,若该应用服务注册了拖拽监听,那么第二终端设备可以将第一终端设备发送的判断请求发送给应用服务,由应该服务根据数据类型和坐标的位置判断是否能够传输至第二终端设备。第二终端设备可以将根据数据类型、坐标做出的判断结果发送给第一终端设备,步骤s102可以包括:接收来自所述第二终端设备基于所述数据类型和所述坐标做出的判断结果。对判断结果的显示方式可以参见上文的实施方式,不再赘述。
369.在一种可能的实现方式中,第二终端设备还可以根据本地存储状态做出判断结果。在本地存储状态为具备存储能力时,第二终端设备做出的判断结果为能够移动至第二终端设备。在本地存储状态为不具备存储能力,可以根据上述的数据类型、位置坐标做出判断结果。
370.图15示出根据本技术一实施例的应用场景的示意图。如图15所示,结合图14a、图14b以及图11b对本技术的传输方法进行说明,如图11b所示,对象的缩略图的停留位置与其中一个候选终端设备的信息的显示位置部分重合,选中该候选终端设备为第二终端设备。第一终端设备可以向第二终端设备发送显示状态请求,第二终端设备接收到显示状态请求时,可以对当前的显示界面进行截屏得到截屏图像,将截屏图像返回给第一终端设备,第一终端设备在显示屏幕上显示第二终端设备的截屏图像。
371.第一终端设备继续监测第一跨设备传输操作,向第二终端设备发送判断请求,判断请求携带有对象的数据类型和第一跨设备传输操作停留的位置在第二终端设备的显示界面的截屏图像中的坐标。例如,图15中手指在第一终端设备上拖动对象的缩略图停留在第二终端设备的截屏图像中即时消息应用的对话界面的消息输入框中,或者对话内容显示框中,第一终端设备可获得该停留位置的坐标,并携带在判断请求中,发送给第二终端设备。第二终端设备接收到该判断请求,第二终端设备可以根据数据类型和坐标做出判断结果。比如说,第二终端设备的拖拽服务系统接收到判断请求,将判断请求下发给framework层,framework层生成drag_location事件,将drag_location事件发送给应用服务,应用服务可以根据该坐标和数据类型判断是否可拖入,并将判断结果一步步(如图8c所示的返回判断结果的示例)返回给第一终端设备,在第一终端设备的当前显示界面中显示判断结果,具体的显示方式可以参见图5a或者图5b中的示例。
372.若本实施方式中的对象为图片或者一段文字,即时消息应用的对话框中允许拖入图片,或者输入框中允许拖入文字,那么在第一终端设备的显示界面显示判断结果。用户释
放拖拽操作,第一终端设备在检测到释放拖拽操作时,可以将对象发送给第二终端设备,第二终端设备可以直接在相应的位置打开对象,例如,如图15所示,第二终端设备在对话框中显示该对象(例如图片)。
373.根据上述实施方式的数据的传输方法,能够直接将对象拖拽到目标位置,相比于相关技术需要进一步在接收端操作拖拽到目标位置的过程,能够简化用户操作。在拖拽的过程中实时显示判断结果,能够避免重复操作,提高操作效率。
374.基于上述图14a、图14b的实施方式,图16示出根据本技术一实施例的数据的传输方法的流程图,图16示出的方法可以应用于第二终端设备中,如图16所示,所述方法还可以包括:步骤s211,在接收到所述第一终端设备发送的所述对象时,根据所述数据类型、本地存储状态、第二终端设备安装的应用服务、所述位置坐标中的一项或多项对所述对象进行处理。
375.在一种可能的实现方式中,步骤s211可以包括:
376.在本地存储状态为不具备存储能力时,根据所述第二终端设备安装的应用服务打开所述对象;
377.在本地存储状态为具备存储能力时,在本地存储所述对象。
378.在一种可能的实现方式中,在本地存储状态为具备存储能力时,在本地存储所述对象,可以包括:
379.在本地存储状态为具备存储能力、所述位置坐标在所述显示界面中的位置不允许所述数据类型插入时,在本地存储所述对象并根据所述数据类型选择应用程序打开对所述对象;
380.在本地存储状态为具备存储能力、所述位置坐标在所述显示界面中的位置允许所述数据类型插入时,在本地存储所述对象并根据所述位置坐标在所述显示界面中打开所述对象。
381.其中,根据所述第二终端设备安装的应用服务打开所述对象的具体过程可以参见前文的描述。所述位置坐标在所述显示界面中的位置是否允许上述数据类型插入,可以根据该位置有没有注册该数据类型的拖拽监听确定,具体过程可以参见上文的描述。
382.根据上述实施方式的数据的传输方法,能够直接将对象拖拽到目标位置,相比于相关技术需要进一步在接收端操作拖拽到目标位置的过程,能够简化用户操作,接收端可以根据本地的信息对对象进行处理,简化用户操作。
383.本技术还提供了一种数据的传输装置,所述装置应用于第一终端设备,所述第一终端设备与第二终端设备连接,如图1所示的应用场景。图17示出根据本技术一实施例的数据的传输装置的框图,如图17所示,所述装置包括:
384.第一获取模块61,用于所述第一终端设备在检测到针对所述第一终端设备上的对象的第一跨设备传输操作时,获取所述对象的数据类型,其中,所述第一跨设备传输操作用于发起将所述对象传输至第二终端设备的过程;
385.第一发送模块62,用于向所述第二终端设备发送携带有所述数据类型的判断请求,
386.第一接收模块63,用于接收来自所述第二终端设备基于所述数据类型做出的判断结果,所述判断结果表示所述对象是否能够传输至第二终端设备;
387.第一显示模块64,用于显示所述判断结果。
388.根据本技术上述实施方式的数据的传输装置,能够根据对象的数据类型和接收端的匹配程度为用户提供直观的视觉反馈,避免错误操作和反复操作,提高操作效率。
389.在一种可能的实现方式中,所述判断请求携带有数据类型字段和/或扩展的数据类型字段,数据类型字段和扩展的数据类型字段用于表示所述对象的数据类型。
390.在一种可能的实现方式中,所述装置还包括:
391.第二发送模块,用于在所述判断结果为能够传输至第二终端设备且检测到第二跨设备传输操作时,向所述第二终端设备发送所述对象,所述第二跨设备传输操作用于确认将所述对象传输至第二终端设备。
392.在一种可能的实现方式中,所述第二发送模块包括:
393.第一保存单元,用于将所述对象暂存在第一终端设备本地;
394.第一发送单元,用于向所述第二终端设备发送数据传输请求,所述数据传输请求用于传输所述对象;
395.第二发送单元,用于在接收到所述第二终端设备返回的接受所述数据传输请求的第一响应信号时,根据所述第一响应信号发送所述对象。
396.在一种可能的实现方式中,所述第一发送单元还用于在检测到针对暂存的所述对象的调出指令时,调出暂存的对象,并向所述第二终端设备发送所述数据传输请求。
397.在一种可能的实现方式中,所述第二发送单元还用于:
398.在接收到所述第一响应信号时,直接发送所述对象;
399.或者,在接收到所述第一响应信号时,延迟发送所述对象。
400.在一种可能的实现方式中,所述第二发送模块还包括:
401.撤销发送单元,用于在接收到所述第二终端设备返回的不接受所述数据传输请求的第二响应信号时,撤销发送所述对象。
402.在一种可能的实现方式中,所述第一终端设备与两个以上候选终端设备连接,
403.所述装置还包括:
404.第二显示模块,用于所述第一终端设备在检测到针对所述第一终端设备本地的对象的第一跨设备传输操作时,显示所述两个以上候选终端设备的信息;
405.第二确定模块,用于根据所述第一跨设备传输操作的停留位置与所述两个以上候选终端设备的信息的显示位置之间的关系,确定所述第一跨设备传输操作对应的第二终端设备。
406.在一种可能的实现方式中,所述装置还包括,第三确定模块,用于根据所述第一跨设备传输操作的停留位置与第一终端设备的边缘的位置关系确定所述第一跨设备传输操作对应的第二终端设备。在一种可能的实现方式中,所述装置还包括:
407.第三发送模块,用于向所述第二终端设备发送显示指令,以指示所述第二终端设备根据所述显示指令和所述第二终端设备与所述第一终端设备之间的位置关系显示所述对象的第一图像,
408.所述第一终端设备上显示的所述对象的第二图像与所述第二终端设备上显示的所述对象的第一图像能够拼成所述对象的完整图像。
409.在一种可能的实现方式中,所述第四发送模块用于若检测到在显示屏幕上显示的
所述对象的第二图像的面积满足发送条件,则向所述第二终端设备设备发送所述对象。
410.在一种可能的实现方式中,所述装置还包括:
411.第五发送模块,用于向所述第二终端设备发送显示状态请求,以使所述第二终端设备响应所述显示状态请求返回所述第二终端设备当前的显示界面,并显示所述显示界面;
412.所述第一发送模块包括:
413.第三发送单元,用于向所述第二终端设备发送判断请求,所述判断请求携带有所述数据类型和所述第一跨设备传输操作停留的位置在所述显示界面中的坐标,
414.所述第一接收模块包括:
415.接收单元,用于接收来自所述第二终端设备基于所述数据类型和所述坐标做出的判断结果。
416.在一种可能的实现方式中,所述装置还包括:
417.第三确定模块,用于确定第二终端设备对对象的处理方式;
418.所述第二发送模块还包括:
419.第四发送单元,用于向所述第二终端设备发送所述对象以及指示信息,所述指示信息用于指示第二终端设备以所述处理方式处理所述对象。
420.在一种可能的实现方式中,所述第一跨设备传输操作为拖拽操作。
421.在一种可能的实现方式中,第二跨设备传输操作为拖拽释放操作。
422.在一种可能的实现方式中,所述第一终端设备为触屏设备或非触屏设备,所述第二终端设备为触屏设备、非触屏设备或者无屏设备。
423.本技术还提供了一种数据的传输装置,所述装置应用于第二终端设备,其特征在于,所述第二终端设备与第一终端设备连接,如图1所示的应用场景。图18示出根据本技术一实施例的数据的传输装置的框图,如图18所示,
424.所述装置包括:
425.第二接收模块71,用于接收第一终端设备发送的判断请求,其中,所述判断请求携带有待传输的对象的数据类型,所述判断请求用于请求所述第二终端设备判断所述数据类型的对象能否传输至第二终端设备;
426.第一判断模块72,用于根据所述数据类型做出判断结果,并将所述判断结果发送给所述第一终端设备,以使所述第一终端设备显示所述判断结果。
427.在一种可能的实现方式中,所述装置还包括:
428.第六发送模块,用于在接收到第一终端设备发送的显示状态请求时,向第一终端设备返回所述第二终端设备当前的显示界面,以使第一终端设备确定第一跨设备传输操作在所述显示界面中停留位置的坐标,其中,所述第一跨设备传输操作为第一终端设备用于发起将所述对象传输至第二终端设备的过程的操作。
429.在一种可能的实现方式中,所述判断请求携带有所述坐标,
430.所述第一判断模块包括:
431.第一判断单元,用于根据所述数据类型和所述坐标做出判断结果。
432.在一种可能的实现方式中,所述装置还包括:
433.第一处理模块,用于在接收到所述第一终端设备发送的所述对象时,根据所述数
据类型、本地存储状态、第二终端设备安装的应用服务、所述坐标中的一项或多项对所述对象进行处理。
434.在一种可能的实现方式中,所述第一处理模块包括:
435.第一处理单元,用于在本地存储状态为不具备存储能力时,根据所述第二终端设备安装的应用服务打开所述对象;
436.第二处理单元,用于在本地存储状态为具备存储能力时,在本地存储所述对象。
437.在一种可能的实现方式中,所述第二处理单元还用于在本地存储状态为具备存储能力、所述坐标在所述显示界面中的对应位置不允许所述数据类型插入时,在本地存储所述对象并根据所述数据类型选择应用程序打开对所述对象;
438.在本地存储状态为具备存储能力、所述坐标在所述显示界面中的对应位置允许所述数据类型插入时,在本地存储所述对象并根据所述坐标在所述显示界面中打开所述对象。
439.在一种可能的实现方式中,所述装置还包括:
440.存储模块,用于在接收到所述第一终端设备发送的所述对象时,若第二终端设备具备存储能力,则将所述对象暂存在本地;
441.第三显示模块,用于显示处理选项;
442.第二处理模块,用于根据针对所述处理选项的选择操作对所述对象进行处理。
443.在一种可能的实现方式中,所述装置还包括:
444.第四显示模块,用于在接收到所述第一终端设备发送的显示指令时,根据所述显示指令和所述第二终端设备与所述第一终端设备之间的位置关系显示所述数据对应的对象的第一图像,
445.所述第一终端设备上显示的所述对象的第二图像与所述第二终端设备上显示的所述对象的第一图像能够拼成所述对象的完整图像。
446.在一种可能的实现方式中,所述第一终端设备为触屏设备或非触屏设备,所述第二终端设备为触屏设备、非触屏设备或者无屏设备。
447.本技术的实施例提供了一种终端设备,该终端设备可以执行上述多种实现方式中的一种或几种的数据的传输方法。
448.本技术可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本技术的各个方面的计算机可读程序指令。
449.本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
450.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算
机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
451.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
452.用于执行本技术操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本技术的各个方面。
453.这里参照根据本技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
454.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
455.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
456.附图中的流程图和框图显示了根据本技术的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也
可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
457.以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1