一种拖拽处理方法及装置与流程

文档序号:31014387发布日期:2022-08-05 18:05阅读:56来源:国知局
一种拖拽处理方法及装置与流程

1.本技术涉及终端技术领域,更具体的说,涉及拖拽处理方法及装置。


背景技术:

2.目前,市面上的移动终端均支持拖拽功能。例如,用户通过拖拽功能可以改变移动终端的桌面上图标所在的位置。但是,在某些场景下,应用软件的非原生控件无法响应操作系统提供的拖拽功能。
3.因为在工作人员开发操作系统的过程中,工作人员做了很多关于原生控件与操作系统之间的适配工作,以使原生控件与操作系统之间具有更高的兼容性,所以原生控件能够响应操作系统提供的拖拽功能。由于工作人员并未做非原生控件与操作系统之间的适配工作,所以非原生控件无法响应操作系统提供的拖拽功能。
4.因此,如何保证应用软件的非原生控件能够响应操作系统提供的拖拽功能,成为目前亟需解决的技术问题。


技术实现要素:

5.本技术提供了一种拖拽处理方法及装置,以使应用软件的非原生控件能够响应拖拽功能。
6.第一方面,本技术提供了一种拖拽处理方法,该方法包括:电子设备根据将第一应用的第一控件的内容移至第二应用的拖拽操作获取与第一控件对应的第一信息,第一信息封装在第一数据结构体内;电子设备判断第二应用是否支持第一数据结构体;若判断第二应用支持第一数据结构体,电子设备将第一数据结构体发送给第二应用;若判断第二应用不支持第一数据结构体,电子设备将第一数据结构体转换成第二数据结构体,并将第二数据结构体发送给第二应用,第二数据结构体为第二应用支持的数据结构体。
7.在第一方面中,如果第二应用的第二控件支持第一数据结构体,说明第二应用的第二控件为电子设备的操作系统支持的原生控件,那么电子设备可以将第一数据结构体发送给第二应用,以便于第二应用的第二控件可以获取到第一数据结构体内的第一文本信息,并且第二控件会加载第一文本信息。如果第二应用的第二控件不支持第一数据结构体,说明第二应用的第二控件为电子设备的操作系统不支持的非原生控件,那么电子设备可以将第一数据结构体转换成第二控件支持的第二数据结构体,再将第二数据结构体发送给第二应用,以便于第二应用的第二控件可以获取到第二数据结构体内的第一文本信息,并且第二控件会加载第一文本信息,从而使第二应用的第二控件能够响应拖拽功能。
8.在第一方面的一种可能的实现方式中,电子设备接收将第一应用的第一控件的内容移至第二应用的拖拽操作。
9.在第一方面的一种可能的实现方式中,将第一应用的第一控件的内容移至第二应用的拖拽操作,包括:将第一应用的第一控件的内容移至第二应用的第二控件上。
10.在第一方面的一种可能的实现方式中,将第一应用的第一控件的内容移至第二应
用的拖拽操作,包括:将第一应用的第一控件的内容移至第二应用的图标上。
11.在第一方面的一种可能的实现方式中,电子设备接收将第一应用的第一控件的内容移至第二应用的图标上以后,方法还包括:电子设备显示第二应用对应的一个或多个悬浮图标;电子设备接收用户从一个或多个悬浮图标中选择第一悬浮图标的操作,第一悬浮图标与具有第二控件的第一界面对应;电子设备判断第二应用是否支持第一数据结构体,包括:电子设备判断第二控件是否支持第一数据结构体。
12.其中,在用户将第一应用的第一控件的内容移至第二应用的图标上以后,电子设备显示第二应用对应的一个或多个悬浮图标,一个或多个悬浮图标分别对应第二应用的一个或多个具有第二控件的界面。在电子设备接收到用户选择第一悬浮图标的操作以后,说明用户想要将第一应用的第一控件的内容移至第一悬浮图标对应的第一界面上的第二控件内,然后电子设备便可以继续执行后续步骤。因此,在用户将第一应用的第一控件的内容移至第二应用的图标上以后,不管第二应用的第二控件是否支持第一数据结构体,第二应用都能够响应拖拽功能。
13.在第一方面的一种可能的实现方式中,电子设备内安装有第一应用和第二应用。
14.在第一方面的一种可能的实现方式中,将第一应用的第一控件的内容移至第二应用的拖拽操作,包括:将第一应用的第一控件的内容移至协同窗口内的第二应用的第二控件或图标上,协同窗口为外部设备在电子设备上的投屏窗口,第二应用安装在外部设备上。
15.在第一方面的一种可能的实现方式中,电子设备判断第二应用是否支持第一数据结构体包括:电子设备向外部设备发送查询信息;电子设备接收外部设备响应于查询信息发送的响应信息;电子设备根据响应信息判断第二应用是否支持第一数据结构体。
16.其中,在电子设备生成第一数据结构体以后,电子设备向外部设备发送查询信息,以使外部设备判断第二应用的第二控件是否支持第一数据结构体。外部设备向电子设备发送响应信息,以使电子设备可以得知第二应用的第二控件是否支持第一数据结构体。在响应信息中的内容为第一标识信息时,说明第二应用的第二控件支持第一数据结构体,那么电子设备向外部设备发送第一数据结构体。在响应信息中的内容为第二标识信息时,说明第二应用的第二控件不支持第一数据结构体,那么电子设备将第一数据结构体转换成第二应用支持的第二数据结构体,并将第二数据结构体发送至外部设备,从而使第二应用的第二控件能够响应拖拽功能。
17.在第一方面的一种可能的实现方式中,第一应用的第一控件的内容包括第一文本,与第一控件对应的第一信息包括第一控件内第一文本的文本信息;或者,第一应用的第一控件的内容包括第一图片,与第一控件对应的第一信息包括第一控件内第一图片的存储路径。
18.在第一方面的一种可能的实现方式中,第一数据结构体包括clipdata,第二数据结构体包括intent。
19.第二方面,本技术提供了一种拖拽处理方法,该方法包括:第一设备接收用户输入的拖拽操作,拖拽操作指的是将第一应用的第一控件的内容移至协同窗口内的第二应用的第二控件或图标上。其中,协同窗口为第二设备在第一设备上的投屏窗口。第一设备获取第一控件对应的第一信息;第一设备将第一信息封装在第一数据结构体内;第一设备将第一数据结构体发送给第二设备。
20.第三方面,本技术提供了一种拖拽处理方法,该方法包括:第二设备接收第一设备发送的第一数据结构体,第一数据结构体包括第一信息;第二设备判断第二控件是否支持第一数据结构体;如果第二控件支持第一数据结构体,第二设备将第一数据结构体发送给第二应用的第二控件,第二应用安装在第二设备中;如果第二控件支持第一数据结构体时,第二设备将第一数据结构体转换成第二数据结构体,并将第二数据结构体发送给第二应用的第二控件,第二数据结构体为第二控件支持的数据结构体。
21.在第二方面和第三方面中,如果第二应用的第二控件支持第一数据结构体,说明第二应用的第二控件为第二设备的操作系统支持的控件,那么第二设备可以将第一数据结构体发送给第二应用,以便于第二应用的第二控件可以获取到第一数据结构体内的第一文本信息,并且第二控件会加载第一文本信息。如果第二应用的第二控件不支持不支持第一数据结构体,说明第二应用的第二控件为非原生控件,那么第二设备可以将第一数据结构体转换成第二控件支持的第二数据结构体,再将第二数据结构体发送给第二应用,以便于第二应用的第二控件可以获取到第二数据结构体内的第一文本信息,并且第二控件会加载第一文本信息,从而使第二应用的第二控件能够响应拖拽功能。
22.第四方面,本技术提供了一种拖拽处理方法,该方法包括:第一设备接收用户输入的拖拽操作,拖拽操作指的是将第一应用的第一控件的内容移至协同窗口内的第二应用的第二控件或图标上。其中,协同窗口为第二设备在第一设备上的投屏窗口。第一设备获取第一控件对应的第一信息;第一设备将第一信息封装在第一数据结构体内;第一设备向第二设备发送第一查询请求,第一查询请求用于指示第二设备判断第二控件是否支持第一数据结构体;第一设备接收第二设备发送的第一响应信息,第一响应信息用于指示第二控件是否支持第一数据结构体;如果第二控件支持第一数据结构体,第一设备将第一数据结构体发送给第二设备内的第二应用的第二控件;如果第二控件不支持第一数据结构体,第一设备将第一数据结构体转换成第二数据结构体,并将第二数据结构体发送给第二设备内的第二应用的第二控件,第二数据结构体为第二控件能够识别的数据结构体。
23.第五方面,本技术提供了一种拖拽处理方法,该方法包括:第二设备接收第一设备发送的第一查询请求,第一查询请求用于指示第二设备判断第二应用的第二控件是否支持第一数据结构体,第一数据结构体包括第一信息;第二设备判断第二控件是否支持第一数据结构体;如果第二控件支持第一数据结构体,第二设备将第一响应信息发送给第一设备,并接收第一设备发送的第一数据结构体,第一响应信息用于指示第二控件能够识别第一数据结构体;或者,如果第二控件不支持第一数据结构体,第二设备将第一响应信息发送给第一设备,并接收第一设备发送的第二数据结构体,第一响应信息用于指示第二控件不能识别第一数据结构体,第二数据结构体为第二控件能够识别的数据结构体。
24.在第四方面和第五方面中,在第一设备生成第一数据结构体以后,第一设备向第二设备发送第一查询请求,以使第二设备判断第二应用的第二控件是否支持第一数据结构体。第二设备向第一设备发送第一响应信息,以使第一设备可以得知第二应用的第二控件是否支持第一数据结构体。在第一响应信息中的内容为第一标识信息时,说明第二应用的第二控件支持第一数据结构体,那么第一设备向第二设备发送第一数据结构体。在第一响应信息中的内容为第二标识信息时,说明第二应用的第二控件不支持第一数据结构体,那么第一设备将第一数据结构体转换成第二应用支持的第二数据结构体,并将第二数据结构
体发送至第二设备,从而使第二应用的第二控件能够响应拖拽功能。
25.第六方面,本技术提供了一种电子设备,包括一个或多个处理器以及存储器,存储器用于存储指令;处理器用于执行指令,以使电子设备执行以下操作:根据将第一应用的第一控件的内容移至第二应用的拖拽操作获取与第一控件对应的第一信息,第一信息封装在第一数据结构体内;判断第二应用是否支持第一数据结构体;若判断第二应用支持第一数据结构体,将第一数据结构体发送给第二应用;若判断第二应用不支持第一数据结构体,将第一数据结构体转换成第二数据结构体,并将第二数据结构体发送给第二应用,第二数据结构体为第二应用支持的数据结构体。
26.在第六方面的一种可能的实现方式中,处理器,还用于接收将第一应用的第一控件的内容移至第二应用的拖拽操作。
27.在第六方面的一种可能的实现方式中,处理器,具体用于将第一应用的第一控件的内容移至第二应用的第二控件上。
28.在第六方面的一种可能的实现方式中,处理器,具体用于将第一应用的第一控件的内容移至第二应用的图标上。
29.在第六方面的一种可能的实现方式中,处理器,具体用于显示第二应用对应的一个或多个悬浮图标;接收用户从一个或多个悬浮图标中选择第一悬浮图标的操作,第一悬浮图标与具有第二控件的第一界面对应;判断第二控件是否支持第一数据结构体。
30.在第六方面的一种可能的实现方式中,电子设备内安装有第一应用和第二应用。
31.在第六方面的一种可能的实现方式中,处理器,具体用于将第一应用的第一控件的内容移至协同窗口内的第二应用的第二控件或图标上,协同窗口为外部设备在电子设备上的投屏窗口,第二应用安装在外部设备上。
32.在第六方面的一种可能的实现方式中,处理器,具体用于向外部设备发送查询信息;接收外部设备响应于查询信息发送的响应信息;根据响应信息判断第二应用是否支持第一数据结构体。
33.在第六方面的一种可能的实现方式中,第一应用的第一控件的内容包括第一文本,与第一控件对应的第一信息包括第一控件内第一文本的文本信息;或者,第一应用的第一控件的内容包括第一图片,与第一控件对应的第一信息包括第一控件内第一图片的存储路径。
34.在第六方面的一种可能的实现方式中,第一数据结构体包括clipdata,第二数据结构体包括intent。
35.第七方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有软件代码,软件代码为在被一个或多个处理器读取后能够执行第一方面、第一方面的每一种可能的实现方式、第二方面、第三方面、第四方面或第五方面。
附图说明
36.图1为平板电脑100的桌面示意图;
37.图2为平板电脑100的分屏示意图;
38.图3为用户拖拽悬浮图标107的示意图;
39.图4为备忘录102的界面上的第二控件106加载图片104的示意图;
40.图5为平板电脑100的内部处理流程的示意图;
41.图6为另一种平板电脑100的分屏示意图;
42.图7为另一种平板电脑100的内部处理流程的示意图;
43.图8为本技术提供的一种拖拽处理方法的流程图;
44.图9为另一种平板电脑100的桌面示意图;
45.图10为平板电脑200的分屏示意图;
46.图11为用户拖拽悬浮图标207的示意图;
47.图12为聊天203的界面上的文本框206加载文本信息204的示意图;
48.图13为平板电脑200的内部处理流程的示意图;
49.图14为本技术提供的另一种拖拽处理方法的流程图;
50.图15为本技术提供的又一种拖拽处理方法的流程图;
51.图16为智能手机400投屏至平板电脑300的示意图;
52.图17为平板电脑200同时显示备忘录301的界面和协同窗口302的示意图;
53.图18为用户拖拽悬浮图标305的示意图;
54.图19为聊天401的文本框402加载文本信息303的示意图;
55.图20为平板电脑300与智能手机400之间的交互示意图;
56.图21为本技术提供的又一种拖拽处理方法的流程图;
57.图22为本技术提供的又一种拖拽处理方法的流程图;
58.图23为本技术实施例提供的一种电子设备的示意图。
具体实施方式
59.下面通过图1至图5所示的示例,简要介绍将图库101中的第一控件105内的图片104拖拽至备忘录102的第二控件106内的场景。其中,第一控件105和第二控件106均为平板电脑100的操作系统108支持的原生控件。
60.请参见图1所示,图1为平板电脑100的桌面示意图。在图1所示的示例中,平板电脑100的操作系统可以为鸿蒙系统(harmonyos)、安卓系统(androidos)或苹果移动设备操作系统(iphone operation system,ios)。当然,平板电脑100的操作系统并不局限于上述操作系统,还可以为其他类型的操作系统。平板电脑100内安装有图库101、备忘录102和聊天103等多款应用软件。
61.在图1所示的场景中,用户可以先打开图库101,并向平板电脑100输入分屏指令,再打开备忘录102,以使平板电脑100同时显示图库101的界面和备忘录102的界面。
62.请参见图2所示,图2为平板电脑100的分屏示意图。在平板电脑100分屏显示图库101的界面和备忘录102的界面以后,用户可以使用手指500长按图库101的界面上的第一控件105内的图片104。
63.请参见图3所示,图3为用户拖拽悬浮图标107的示意图。在平板电脑100监听到用户的手指500对第一控件105内的图片104输入的长按操作以后,平板电脑100会通过第一控件105获取到图片104的存储路径,并将图片104的存储路径封装在数据结构体a中。同时,平板电脑100还会根据图片104绘制悬浮图标107,悬浮图标107可以跟随用户的手指500移动。然后,用户的手指500可以将悬浮图标107拖拽至备忘录102的界面上的第二控件106的上
方。
64.在一种可能的实现方式中,如果平板电脑100的操作系统为安卓系统,那么数据结构体a可以为clipdata对象,且clipdata对象包含图片104的存储路径,其中,图片104的存储路径为“file://pad/images/跳跃.jpg”。
65.示例的,clipdata对象包括以下内容:
66.charsequence mtext=
“”

67.string mhtmltext=
“”

68.intent mintent=null;
69.uri muri=“file://pad/images/跳跃.jpg”;
70.在上述示例可以得知,clipdata对象中包含图片104的存储路径。
71.请参见图4所示,图4为备忘录102的界面上的第二控件106加载图片104的示意图。在用户使用手指500将悬浮图标107拖拽至备忘录102的界面上的第二控件106的上方以后,用户的手指500离开平板电脑100。在平板电脑100监听到用户的手指500离开的位置是备忘录102的界面上的第二控件106时,说明用户希望将图库101的界面上的第一控件105内的图片104拖拽至备忘录102的界面上的第二控件106内,平板电脑100会删除悬浮图标107,然后将数据结构体a发送给备忘录102。
72.由于备忘录102的界面上的第二控件106为操作系统支持的原生控件,所以第二控件106可以自动解析数据结构体a中的图片104的存储路径。然后,备忘录102根据图片104的存储路径来获取图片104,并在备忘录102的界面上的第二控件106内显示图片104。
73.需要说明的是,在图2至图4所示的示例中,第一控件105和第二控件106均是客观存在但用户无法看到的控件,所以第一控件105和第二控件106均使用虚线方框表示。
74.请参见图5所示,图5为平板电脑100的内部处理流程的示意图,图5为图1至图4所示的平板电脑100的内部处理流程。
75.在图5所示的示例中,可以结合图1至图4所示的示例,在用户将图库101的界面上的第一控件105内的图片104拖拽至备忘录102的界面上的第二控件106的上方并松手以后,平板电脑100的操作系统108通过图库101的第一控件105获取图片104的存储路径。然后,平板电脑100的操作系统108将图片104的存储路径封装在数据结构体a中,再将数据结构体a发送至备忘录102。由于备忘录102的界面上的第二控件106为平板电脑100的操作系统108支持的原生控件,所以备忘录102的界面上的第二控件106能够自动解析数据结构体a中的图片104的存储路径,然后备忘录102通过图片104的存储路径在存储器109中获取到图片104,在备忘录102的界面上的第二控件106内显示图片104。因此,备忘录102中的第二控件106可以响应拖拽功能。
76.请参见图1、图6和图7所示,图6为另一种平板电脑100的分屏示意图,图7为另一种平板电脑100的内部处理流程的示意图。图1、图6和图7所示的示例主要介绍将图库101中的第一控件105内的图片104拖拽至聊天103的第三控件110内的场景。其中,第一控件105为平板电脑100的操作系统108支持的原生控件,第三控件110不是平板电脑100的操作系统108支持的原生控件。
77.在图1、图6和图7所示的示例中,用户需要向平板电脑100输入分屏指令,以使平板电脑100同时显示图库101的界面和聊天103的界面。然后,在用户将图库101的界面上的第
一控件105内的图片104拖拽至聊天103的界面上的第三控件110的上方并松手以后,平板电脑100的操作系统108通过第一控件105获取图片104的存储路径。然后,平板电脑100的操作系统108将图片104的存储路径封装在数据结构体a中,再将数据结构体a发送至聊天103。由于聊天103的界面上的第三控件110不是平板电脑100的操作系统108支持的原生控件,所以聊天103的界面上的第三控件110无法自动解析数据结构体a中的图片104的存储路径,那么聊天103的界面上的第三控件110也就无法显示图片104。因此,聊天103中的第三控件110无法响应拖拽功能。
78.通过图1至图7所示的示例可以得知,由于备忘录102的界面上的第二控件106为平板电脑100的操作系统108支持的原生控件,所以备忘录102中的第二控件106可以响应拖拽功能。由于聊天103的界面上的第三控件110不是平板电脑100的操作系统108支持的原生控件,所以聊天103中的第三控件110无法响应拖拽功能。因此,应用软件的非原生控件无法响应拖拽功能。
79.请参见图8所示,图8为本技术提供的一种拖拽处理方法的流程图。图8所示的拖拽处理方法可以使应用软件的非原生控件响应拖拽功能,图8所示的方法包括步骤s101至s106。
80.s101、电子设备接收用户输入的拖拽操作。
81.其中,电子设备可以为智能手机或平板电脑等设备,电子设备内安装有第一应用和第二应用。
82.在s101中,拖拽操作指的是将第一应用的第一控件的内容移至第二应用的第二控件上。第一应用的第一控件的内容包括第一文本,与第一控件对应的第一信息包括第一控件内第一文本的文本信息。
83.具体的,第一控件为第一文本框,第二控件为第二文本框。示例的,在电子设备的操作系统为安卓系统时,第一控件和第二控件均为textview。
84.s102、电子设备获取第一控件内的第一文本信息。
85.s103、电子设备将第一文本信息封装在第一数据结构体内。
86.示例的,在电子设备的操作系统为安卓系统时,那么第一数据结构体可以为clipdata对象。
87.s104、电子设备判断第二应用的第二控件是否支持第一数据结构体。如果是,执行步骤s105;否则,执行步骤s106。
88.s105、电子设备将第一数据结构体发送给第二应用。
89.s106、电子设备将第一数据结构体转换成的第二数据结构体,并将第二数据结构体发送给第二应用。
90.其中,第二数据结构体为第二应用的第二控件支持的数据结构体。
91.示例的,在电子设备的操作系统为安卓系统时,那么第二数据结构体可以为intent对象。
92.在图8所示的实施例中,如果第二应用的第二控件支持第一数据结构体,说明第二应用的第二控件为电子设备的操作系统支持的原生控件,那么电子设备可以将第一数据结构体发送给第二应用,以便于第二应用的第二控件可以获取到第一数据结构体内的第一文本信息,并且第二控件会加载第一文本信息。如果第二应用的第二控件不支持第一数据结
构体,说明第二应用的第二控件为电子设备的操作系统不支持的非原生控件,那么电子设备可以将第一数据结构体转换成第二控件支持的第二数据结构体,再将第二数据结构体发送给第二应用,以便于第二应用的第二控件可以获取到第二数据结构体内的第一文本信息,并且第二控件会加载第一文本信息,从而使第二应用的第二控件能够响应拖拽功能。
93.在图8所示的一种可实现的实施例中,如果s101中的拖拽操作指的是将第一应用的第一控件的内容移至第二应用的图标上,那么在s101以后,在s102以前,图8所示的方法还可以包括以下步骤:电子设备显示第二应用对应的一个或多个悬浮图标,电子设备接收用户从一个或多个悬浮图标中选择第一悬浮图标的操作,其中,第一悬浮图标与具有第二控件的第一界面对应,第一界面为第二应用的界面。
94.其中,在用户将第一应用的第一控件的内容移至第二应用的图标上以后,电子设备显示第二应用对应的一个或多个悬浮图标,一个或多个悬浮图标分别对应第二应用的一个或多个具有第二控件的界面。在电子设备接收到用户选择第一悬浮图标的操作以后,说明用户想要将第一应用的第一控件的内容移至第一悬浮图标对应的第一界面上的第二控件内,然后电子设备便可以继续执行步骤s102至步骤s106。因此,在用户将第一应用的第一控件的内容移至第二应用的图标上以后,不管第二应用的第二控件是否支持第一数据结构体,第二应用都能够响应拖拽功能。
95.其中,在电子设备的操作系统为安卓系统时,那么电子设备的操作系统会利用包管理器服务(packagemanagerservice,pms)来查询第二应用内是否存在具有第二控件的界面。
96.下面通过图9至图13所示的示例,来说明图8所示的拖拽处理方法。
97.请参见图9所示,图9为另一种平板电脑100的桌面示意图。在图9所示的示例中,平板电脑200的操作系统208可以为鸿蒙系统(harmonyos)、安卓系统(androidos)或苹果移动设备操作系统(iphone operation system,ios)。当然,平板电脑200的操作系统208并不局限于上述操作系统,还可以为其他类型的操作系统。平板电脑200内安装有图库201、备忘录202和聊天203等多款应用软件。
98.在图9所示的场景中,用户可以先打开备忘录202,并向平板电脑200输入分屏指令,再打开聊天203,以使平板电脑200同时显示备忘录202的界面和聊天203的界面。
99.请参见图10所示,图10为平板电脑200的分屏示意图。在平板电脑200分屏显示备忘录202的界面和聊天203的界面以后,用户可以使用手指500长按备忘录202的界面上的文本框205内的文本信息204。其中,文本信息204的具体内容为“会员账号为:12345”。
100.请参见图11所示,图11为用户拖拽悬浮图标207的示意图。在平板电脑200监听到用户的手指500对文本框205内的文本信息204输入的长按操作以后,平板电脑200会获取文本框205内的文本信息204,并将文本信息204封装在数据结构体a中。同时,平板电脑200还会根据文本信息204绘制悬浮图标207,悬浮图标207可以跟随用户的手指500移动。然后,用户的手指500可以将悬浮图标207拖拽至聊天203的界面上的文本框206的上方,然后用户的手指500离开悬浮图标207。
101.请参见图12所示,图12为聊天203的界面上的文本框206加载文本信息204的示意图。在用户的手指500离开悬浮图标207以后,平板电脑200会判断聊天203的文本框206是否支持数据结构体a。由于聊天203的文本框206为非原生控件,所以聊天203的文本框206不支
持数据结构体a,那么平板电脑200可以将数据结构体a转换成文本框206支持的数据结构体b,再将数据结构体b发送给聊天203,以便于聊天203的文本框206可以获取到数据结构体b内的文本信息204,并且文本框206会加载文本信息204,从而使聊天203的文本框206能够响应拖拽功能。
102.下面举例说明电子设备如何将数据结构体a转换成的数据结构体b。假设数据结构体a为clipdata对象,文本信息204为“会员账号为:12345”,数据结构体b为intent对象。
103.示例的,clipdata对象包括以下内容:
104.charsequence mtext=“会员账号为:12345”;
105.string mhtmltext=
“”

106.intent mintent=null;
107.uri muri=
“”

108.电子设备会获取clipdata对象中的文本信息204“会员账号为:12345”,并将文本信息“会员账号为:12345”封装在intent对象内,intent对象包括以下内容:
109.intent:
110.action=intent.action_send;
111.type=type:text/plain;
112.extra_text=“会员账号为:12345”;
113.其中,clipdata对象只能被平板电脑200的操作系统208支持的原生控件所识别,由于聊天203的文本框206不属于平板电脑200的操作系统208支持的原生控件,所以聊天203的文本框206便不支持clipdata对象。基于此,平板电脑200可以将clipdata对象转换成聊天203的文本框206支持的intent对象,然后,平板电脑200再将intent对象发送给聊天203,以便于聊天203的文本框206可以获取到intent对象内的文本信息204“会员账号为:12345”,并且文本框206会加载文本信息204,从而使聊天203的文本框206能够响应拖拽功能。
114.请参见图13所示,图13为平板电脑200的内部处理流程的示意图,图13为图9至图12所示的平板电脑200的内部处理流程。
115.在图13所示的示例中,可以结合图9至图12所示的示例,在用户将备忘录202的界面上的文本框205内的文本信息204拖拽至聊天203的界面上的文本框206的上方并松手以后,平板电脑200的操作系统208会判断聊天203的文本框206是否支持数据结构体a。由于聊天203的文本框206为非原生控件,所以聊天203的文本框206不支持数据结构体a,那么平板电脑200可以将数据结构体a转换成文本框206支持的数据结构体b,再将数据结构体b发送给聊天203,以便于聊天203的文本框206可以获取到数据结构体b内的文本信息204,并且文本框206会加载文本信息204,从而使聊天203的文本框206能够响应拖拽功能。
116.请参见图14所示,图14为本技术提供的另一种拖拽处理方法的流程图。图14所示的拖拽处理方法可以使应用软件的非原生控件响应拖拽功能,图14所示的方法包括步骤s201至s206。
117.s201、电子设备接收用户输入的拖拽操作。
118.其中,电子设备可以为智能手机或平板电脑等设备,电子设备内安装有第一应用和第二应用。
119.在s201中,拖拽操作指的是将第一应用的第一控件的内容移至第二应用的第二控件上。第一应用的第一控件的内容包括第一图片,与第一控件对应的第一信息包括第一控件内第一图片的存储路径。
120.具体的,第一控件为第一图像框,第二控件为第二图像框。示例的,在电子设备的操作系统为安卓系统时,第一控件和第二控件均为imageview。
121.s202、电子设备获取第一控件内的第一图片的存储路径。
122.s203、电子设备将第一图片的存储路径封装在第一数据结构体内。
123.示例的,在电子设备的操作系统为安卓系统时,那么第一数据结构体可以为clipdata对象。
124.s204、电子设备判断第二应用的第二控件是否支持第一数据结构体。如果是,执行步骤s205;否则,执行步骤s206。
125.s205、电子设备将第一数据结构体发送给第二应用。
126.s206、电子设备将第一数据结构体转换成的第二数据结构体,并将第二数据结构体发送给第二应用。
127.其中,第二数据结构体为第二应用的第二控件能够支持的数据结构体。
128.在图14所示的实施例中,如果第二应用的第二控件支持第一数据结构体,说明第二应用的第二控件为电子设备的操作系统支持的原生控件,那么电子设备可以将第一数据结构体发送给第二应用,以便于第二应用的第二控件可以获取到第一数据结构体内的第一图片的存储路径,并且第二控件会通过第一图片的存储路径加载第一图片。如果第二应用的第二控件不支持第一数据结构体,说明第二应用的第二控件为电子设备的操作系统不支持的非原生控件,那么电子设备可以将第一数据结构体转换成第二控件支持的第二数据结构体,再将第二数据结构体发送给第二应用,以便于第二应用的第二控件可以获取到第二数据结构体内的第一图片的存储路径,并且第二控件会通过第一图片的存储路径加载第一图片,从而使第二应用的第二控件能够响应拖拽功能。
129.示例的,在电子设备的操作系统为安卓系统时,那么第二数据结构体可以为intent对象。
130.下面举例说明电子设备如何将第一数据结构体转换成的第二数据结构体。假设第一数据结构体为clipdata对象,第一图片的存储路径为“file://pad/images/跳跃.jpg”,第二数据结构体为intent对象。
131.示例的,clipdata对象包括以下内容:
132.charsequence mtext=
“”

133.string mhtmltext=
“”

134.intent mintent=null;
135.uri muri=“file://pad/images/跳跃.jpg”;
136.电子设备会获取clipdata对象中的第一图片的存储路径“file://pad/images/跳跃.jpg”,并将第一图片的存储路径“file://pad/images/跳跃.jpg”封装在intent对象内,intent对象包括以下内容:
137.intent:
138.action=intent.action_send;
139.type=type:imge/*;
140.extra_stream=“file://pad/images/跳跃.jpg”;
141.其中,clipdata对象只能被电子设备的操作系统支持的原生控件所识别,如果第二应用的第二控件不属于电子设备的操作系统支持的原生控件,那么第二控件便不支持clipdata对象。基于此,电子设备可以将clipdata对象转换成第二控件支持的intent对象,然后,电子设备再将intent对象发送给第二应用,以便于第二应用的第二控件可以获取到intent对象内的第一图片的存储路径“file://pad/images/跳跃.jpg”,并且第二控件会通过第一图片的存储路径“file://pad/images/跳跃.jpg”加载第一图片,从而使第二应用的第二控件能够响应拖拽功能。
142.请参见图15所示,图15为本技术提供的又一种拖拽处理方法的流程图。图15所示的拖拽处理方法可以使应用软件的非原生控件响应拖拽功能,图15所示的方法包括步骤s301至s307。
143.s301、第一设备接收用户输入的拖拽操作。
144.其中,第一设备内安装有第一应用,第二设备内安装有第二应用,第一设备与第二设备之间建立第一通信连接。
145.在s301以前,第二设备向第一设备发送投屏指令。在第一设备同意该投屏指令以后,第二设备会将第二设备的显示桌面发送至第一设备。第一设备会生成协同窗口,并在协同窗口中显示第二设备的显示桌面。
146.在s301中,拖拽操作指的是将第一应用的第一控件的内容移至协同窗口内的第二应用的第二控件或图标上。其中,协同窗口为第二设备在第一设备上的投屏窗口。
147.具体的,第一控件为第一文本框,第二控件为第二文本框。
148.示例的,在电子设备的操作系统为安卓系统时,第一控件和第二控件均为textview。
149.s302、第一设备获取第一控件内的第一文本信息。
150.s303、第一设备将第一文本信息封装在第一数据结构体内。
151.其中,第一数据结构体包括第一文本信息。
152.示例的,在电子设备的操作系统为安卓系统时,那么第一数据结构体可以为clipdata对象。
153.s304、第一设备将第一数据结构体发送至第二设备。
154.s305、第二设备判断第二应用的第二控件是否支持第一数据结构体。如果是,执行步骤s306;否则,执行步骤s307。
155.s306、第二设备将第一数据结构体发送至第二应用。
156.s307、第二设备将第一数据结构体转换成第二数据结构体,并将第二数据结构体发送至第二应用。
157.其中,第二数据结构体为第二应用支持的数据结构体。
158.示例的,在电子设备的操作系统为安卓系统时,那么第二数据结构体可以为intent对象。
159.在图15所示的实施例中,如果第二应用的第二控件支持第一数据结构体,说明第二应用的第二控件为第二设备的操作系统支持的控件,那么第二设备可以将第一数据结构
体发送给第二应用,以便于第二应用的第二控件可以获取到第一数据结构体内的第一文本信息,并且第二控件会加载第一文本信息。如果第二应用的第二控件不支持不支持第一数据结构体,说明第二应用的第二控件为非原生控件,那么第二设备可以将第一数据结构体转换成第二控件支持的第二数据结构体,再将第二数据结构体发送给第二应用,以便于第二应用的第二控件可以获取到第二数据结构体内的第一文本信息,并且第二控件会加载第一文本信息,从而使第二应用的第二控件能够响应拖拽功能。
160.下面通过图16至图20所示的示例,来说明图15所示的拖拽处理方法。
161.请参见图16所示,图16为智能手机400投屏至平板电脑300的示意图。平板电脑300内安装有备忘录301等应用软件,智能手机400内安装有信息401等应用软件,平板电脑300和智能手机400之间建立有无线通信连接。
162.在图16所示的场景中,智能手机400通过无线通信连接向平板电脑300发送投屏指令。在平板电脑300同意该投屏指令以后,智能手机400会将智能手机400的显示桌面发送至平板电脑300。平板电脑300会生成协同窗口302,并在协同窗口302中显示智能手机400的显示桌面。然后,用户可以在平板电脑300上打开备忘录301,并且在智能手机400上打开聊天401。
163.请参见图17所示,图17为平板电脑200同时显示备忘录301的界面和协同窗口302的示意图。在平板电脑200同时显示备忘录301的界面和协同窗口302以后,用户可以使用手指500长按备忘录301的界面上的文本框304内的文本信息303。其中,文本信息303的具体内容为“会员账号为:12345”。
164.请参见图18所示,图18为用户拖拽悬浮图标305的示意图。在平板电脑300监听到用户的手指500对文本框304的文本信息303输入的长按操作以后,平板电脑300会获取文本框304内的文本信息303,并将文本信息303封装在数据结构体a中。同时,平板电脑300还会根据文本信息303绘制悬浮图标305,悬浮图标305可以跟随用户的手指500移动。然后,用户的手指500可以将悬浮图标305拖拽至协同窗口302中的聊天401的文本框402的上方。然后,用户的手指500离开悬浮图标305。
165.请参见图19所示,图19为聊天401的文本框402加载文本信息303的示意图。在用户的手指500离开悬浮图标305以后,平板电脑300会将数据结构体a发送给智能手机400。在智能手机400接收到平板电脑300发送的数据结构体a以后,智能手机400会判断聊天401的文本框402是否支持数据结构体a。由于聊天401的文本框402为非原生控件,所以聊天401的文本框402不支持数据结构体a,那么智能手机400可以将数据结构体a转换成文本框402支持的数据结构体b,智能手机400再将数据结构体b发送给聊天401,以便于聊天401的文本框402可以获取到数据结构体b内的文本信息303,并且文本框402会加载文本信息303,从而使聊天401的文本框402能够响应拖拽功能。
166.请参见图20所示,图20为平板电脑300与智能手机400之间的交互示意图,图20为图16至图19所示的平板电脑300的内部处理流程和智能手机400的内部处理流程。
167.在图20所示的示例中,可以结合图16至图19所示的示例,在用户将备忘录301的文本框304内的文本信息303拖拽至协同窗口302内的聊天401的文本框402的上方并松手以后,平板电脑300的操作系统306会获取备忘录301的文本框304内的文本信息303,并将文本信息303封装在数据结构体a中,再将数据结构体a发送给通信模块307。平板电脑300的通信
模块307会将数据结构体a发送给智能手机400的通信模块404,智能手机400的通信模块404再将数据结构体a发送给智能手机400的操作系统403。智能手机400的操作系统403会判断聊天401的文本框402是否支持数据结构体a。由于聊天401的文本框402为非原生控件,所以聊天401的文本框402不支持数据结构体a,那么智能手机400的操作系统403会将数据结构体a转换成文本框402支持的数据结构体b,再将数据结构体b发送给聊天401,以便于聊天401的文本框402可以获取到数据结构体b内的文本信息303,并且文本框402会加载文本信息303,从而使聊天401的文本框402能够响应拖拽功能。
168.请参见图21所示,图21为本技术提供的又一种拖拽处理方法的流程图。图21所示的拖拽处理方法可以使应用软件的非原生控件响应拖拽功能,图21所示的方法包括步骤s401至s407。
169.s401、第一设备接收用户输入的拖拽操作。
170.其中,第一设备内安装有第一应用,第二设备内安装有第二应用,第一设备与第二设备之间建立第一通信连接。
171.在s401以前,第二设备向第一设备发送投屏指令。在第一设备同意该投屏指令以后,第二设备会将第二设备的显示桌面发送至第一设备。第一设备会生成协同窗口,并在协同窗口中显示第二设备的显示桌面。
172.在s401中,拖拽操作指的是将第一应用的第一控件的内容移至协同窗口内的第二应用的第二控件或图标上。其中,协同窗口为第二设备在第一设备上的投屏窗口。
173.具体的,第一控件为第一图像框,第二控件为第二图像框。示例的,在电子设备的操作系统为安卓系统时,第一控件和第二控件均为imageview。
174.s402、第一设备获取第一控件内的第一图片的存储路径。
175.s403、第一设备将第一图片的存储路径封装在第一数据结构体内。
176.其中,第一数据结构体包括第一图片的存储路径。
177.示例的,在电子设备的操作系统为安卓系统时,那么第一数据结构体可以为clipdata对象。
178.s404、第一设备将第一数据结构体发送至第二设备。
179.s405、第二设备判断第二应用的第二控件是否支持第一数据结构体。如果是,执行步骤s406;否则,执行步骤s407。
180.s406、第二设备将第一数据结构体发送至第二应用。
181.s407、第二设备将第一数据结构体转换成第二数据结构体,并将第二数据结构体发送至第二应用。
182.其中,第二数据结构体为第二应用支持的数据结构体。
183.示例的,在电子设备的操作系统为安卓系统时,那么第二数据结构体可以为intent对象。
184.在图21所示的实施例中,如果第二应用的第二控件支持第一数据结构体,说明第二应用的第二控件为第二设备的操作系统支持的控件,那么第二设备可以将第一数据结构体发送给第二应用,以便于第二应用的第二控件可以获取到第一数据结构体内的第一图片的存储路径,并且第二控件会根据第一图片的存储路径加载第一图片。如果第二应用的第二控件不支持第一数据结构体,说明第二应用的第二控件为非原生控件,那么第二设备可
以将第一数据结构体转换成第二控件支持的第二数据结构体,再将第二数据结构体发送给第二应用,以便于第二应用的第二控件可以获取到第二数据结构体内的第一图片的存储路径,并且第二控件会根据第一图片的存储路径加载第一图片,从而使第二应用的第二控件能够响应拖拽功能。
185.请参见图22所示,图22为本技术提供的又一种拖拽处理方法的流程图。图22所示的拖拽处理方法可以使应用软件的非原生控件响应拖拽功能,图22所示的方法包括步骤s501至s507。
186.s501、第一设备接收用户输入的拖拽操作。
187.其中,第一设备内安装有第一应用,第二设备内安装有第二应用,第一设备与第二设备之间建立第一通信连接。
188.在s501以前,第二设备向第一设备发送投屏指令。在第一设备同意该投屏指令以后,第二设备会将第二设备的显示桌面发送至第一设备。第一设备会生成协同窗口,并在协同窗口中显示第二设备的显示桌面。
189.在s501中,拖拽操作指的是将第一应用的第一控件的内容移至协同窗口内的第二应用的第二控件或图标上。其中,协同窗口为第二设备在第一设备上的投屏窗口。
190.具体的,第一控件为第一文本框,第二控件为第二文本框。示例的,在电子设备的操作系统为安卓系统时,第一控件和第二控件均为textview。
191.s502、第一设备获取第一控件内的第一文本信息。
192.s503、第一设备将第一文本信息封装在第一数据结构体内。
193.其中,第一数据结构体包括第一文本信息。
194.示例的,在电子设备的操作系统为安卓系统时,那么第一数据结构体可以为clipdata对象。
195.s504、第一设备向第二设备发送第一查询请求。
196.其中,第一查询请求用于指示第二设备判断第二应用的第二控件是否支持第一数据结构体。
197.s505、第二设备判断第二应用的第二控件是否支持第一数据结构体。
198.s506、第二设备向第一设备发送第一响应信息。
199.其中,第一响应信息是由第二设备根据s505中的判断结果生成的相应信息。如果第二应用的第二控件支持第一数据结构体,那么第一响应信息包括第一标识信息,第一标识信息用于指示第二应用的第二控件支持第一数据结构体。如果第二应用的第二控件能够不支持第一数据结构体,那么第一响应信息包括第二标识信息,第二标识信息用于指示第二应用的第二控件不支持第一数据结构体。
200.s507、第一设备根据第一响应信息中的内容向第二设备发送第一数据结构体或第二数据结构体。
201.其中,在第一响应信息中的内容为第一标识信息时,说明第二应用的第二控件支持第一数据结构体,那么第一设备向第二设备发送第一数据结构体。在第一响应信息中的内容为第二标识信息时,说明第二应用的第二控件不支持第一数据结构体,那么第一设备将第一数据结构体转换成第二数据结构体,并将第二数据结构体发送至第二设备。第二数据结构体为第二应用支持的数据结构体。
202.示例的,在电子设备的操作系统为安卓系统时,那么第二数据结构体可以为intent对象。
203.在图22所示的实施例中,在第一设备生成第一数据结构体以后,第一设备向第二设备发送第一查询请求,以使第二设备判断第二应用的第二控件是否支持第一数据结构体。第二设备向第一设备发送第一响应信息,以使第一设备可以得知第二应用的第二控件是否支持第一数据结构体。在第一响应信息中的内容为第一标识信息时,说明第二应用的第二控件支持第一数据结构体,那么第一设备向第二设备发送第一数据结构体。在第一响应信息中的内容为第二标识信息时,说明第二应用的第二控件不支持第一数据结构体,那么第一设备将第一数据结构体转换成第二应用支持的第二数据结构体,并将第二数据结构体发送至第二设备,从而使第二应用的第二控件能够响应拖拽功能。
204.请参见图23所示,图23为本技术实施例提供的一种电子设备的示意图。图23所示的电子设备包括处理器61和存储器62。
205.在图23所示的实施例中,处理器61用于执行存储器62中存储的指令,以使电子设备执行以下操作:根据将第一应用的第一控件的内容移至第二应用的拖拽操作获取与所述第一控件对应的第一信息,所述第一信息封装在第一数据结构体内;判断所述第二应用是否支持所述第一数据结构体;若判断所述第二应用支持所述第一数据结构体,将所述第一数据结构体发送给所述第二应用;若判断所述第二应用不支持所述第一数据结构体,将所述第一数据结构体转换成第二数据结构体,并将所述第二数据结构体发送给所述第二应用,所述第二数据结构体为所述第二应用支持的数据结构体。
206.处理器61是一个或多个cpu。可选的,该cpu为单核cpu或多核cpu。
207.存储器62包括但不限于是随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom或者快闪存储器)、快闪存储器、或光存储器等。存储器62中保存有操作系统的代码。
208.可选地,电子设备还包括总线63,上述处理器61和存储器62通过总线63相互连接,也可以采用其他方式相互连接。
209.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
210.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本技术的这些修改和变型属于本发明权利要求的范围之内,则本发明也意图包括这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1