CN109416652B - 应用数据的共享方法、装置和终端设备 - Google Patents

应用数据的共享方法、装置和终端设备 Download PDF

Info

Publication number
CN109416652B
CN109416652B CN201680087271.2A CN201680087271A CN109416652B CN 109416652 B CN109416652 B CN 109416652B CN 201680087271 A CN201680087271 A CN 201680087271A CN 109416652 B CN109416652 B CN 109416652B
Authority
CN
China
Prior art keywords
application
data
control
interface
current display
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
Application number
CN201680087271.2A
Other languages
English (en)
Other versions
CN109416652A (zh
Inventor
李永德
郭乃荣
仲启强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Publication of CN109416652A publication Critical patent/CN109416652A/zh
Application granted granted Critical
Publication of CN109416652B publication Critical patent/CN109416652B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Abstract

本发明实施例提供一种应用数据的共享方法、装置和终端设备。该方法包括:在判断当前显示的第一应用为白名单中的应用时,根据第一应用当前显示界面上的控件获取显示数据,并根据用户输入的授权操作指令确定是否将显示数据共享给第二应用使用,该显示数据的共享并不受限于第一应用的授权权限,大大提高了用户的体验。

Description

应用数据的共享方法、装置和终端设备
本申请要求于2016年08月19日提交中国专利局,申请号为PCT/CN2016/096100、发明名称为“应用数据的共享方法、装置和终端设备”的PCT专利申请,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术,尤其涉及一种应用数据的共享方法、装置和终端设备。
背景技术
随着移动设备的不断发展,各式各样的应用程序(Application,简称APP)出现在移动设备上,为用户的生活提供方便和娱乐。以安卓系统的移动设备为例,其通过APP完成某个特定功能,用户在使用APP时就会产生过程数据,而这些数据对用户是很有价值的,例如,用户在微信中和朋友聊天,聊天内容可能包含了用户的个人信息、行程信息、图片信息等,根据这些聊天内容其实可以为用户提供更多、更好的服务,比如用户在微信中对某个朋友发送了一条消息“明天下午3点在新街口吃饭”,可以在日程APP中为用户创建一个明天下午3点的日程提醒,或者,可以在地图APP中把新街口作为目的地的候选项,再或者,还可以在团购APP推荐中把新街口的美食作为推荐项。
现有技术中采用内容提供方(ContentProvider)的方式实现两个应用之间的数据共享,具体可以为:以应用A和应用B为例,假设应用B需要共享应用A当前界面的显示数据,应用B向操作系统发送一申请请求,该请求中携带应用B想要共享的Provider的第一标识符(URI),然后操作系统根据该申请请求中第一URI和操作系统中之前记录的其他应用事先申明的URI进行匹配,假设第一URI与应用A申明的Provider的URI匹配,则操作系统指示应用A所要执行的操作和返回的数据结构,然后应用A执行该操作并获得相应数据结构的数据后,将数据返回给操作系统,由操作系统将数据透传给应用B。
但是,现有技术的这种应用间数据共享的方式,应用B必须要得到应用A的授权才能共享应用A的数据,而实际情况是各个应用开发商出于商业利益的考虑,一般都不会把各自的数据共享给其他应用使用,从而造成了信息垄断,信息的互联互通性较差,用户体验度不高。
发明内容
本发明实施例提供的应用数据的共享方法、装置和终端设备,用以解决现有技术中应用之间因开发商授权限制的影响导致信息垄断、信息的互联互通性较差,用户体验度不高的技术问题。
第一方面,本发明实施例提供一种应用数据的共享方法,包括:
判断当前显示的第一应用是否为预设的白名单中的应用;
若是,则根据所述第一应用的当前显示界面上的控件获取所述第一应用在当前显示界面上的显示数据,所述控件为所述当前显示界面的界面元素;
根据用户输入的授权操作指令,确定是否将所述显示数据共享给第二应用使用;其中,所述授权操作指令包括用于指示将所述显示数据共享给所述第二应用的授权指令和用于指示禁止将所述显示数据共享给所述第二应用的禁止指令。
上述第一方面所提供的应用数据的共享方法,通过在判断当前显示的第一应用为预设的白名单中的应用时,根据第一应用的当前显示界面上的控件获取该第一应用在当前显示界面上的显示数据,从而根据用户输入的授权操作指令,确定是否将所述显示数据共享给第二应用使用。本发明实施例的方法,终端设备通过数据共享单元所获取的显示数据脱离第一应用的授权限制,因而第一应用在当前显示界面上的显示数据的共享对象由用户的授权操作指令直接决定,其并不受限于第一应用的开发商的授权权限,因此,只要用户决定将第一应用在当前显示界面上的显示数据进行共享,用户就可以通过相应的授权操作指令将该显示数据共享至任意类型的第二应用,这样保证了任意两个应用之间进行数据共享的开放性,以及数据的互联互通,大大提高了用户的体验。
在一种可能的设计中,所述根据所述第一应用的当前显示界面上的控件获取所述第一应用在当前显示界面上的显示数据,具体包括:
根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件;所述有效控件为携带满足第一预设条件的数据的控件;所述数据属性包括所述控件中的文本长度、所述控件中的图片占当前界面的大小、所述控件中的动画占当前界面的大小中的至少一个;
根据每个所述有效控件的数据,获取所述显示数据。
在一种可能的设计中,所述根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件,具体包括:
若所述控件的数据属性为所述控件中的文本长度,且所述控件中的文本长度大于预设的第一阈值,则确定所述控件为有效控件;
或者,
若所述控件的数据属性为所述控件中的图片占当前界面的大小,且所述控件中的图片占当前界面的大小大于预设的第二阈值,则确定所述控件为有效控件;
或者,
若所述控件的数据属性为所述控件中的动画占当前界面的大小,且所述控件中的动画占当前界面的大小大于预设的第三阈值,则确定所述控件为有效控件;
其中,所述第一预设条件包括所述控件中数据的文本长度大于所述第一阈值、所述控件中的图片占当前界面的大小大于所述第二阈值、所述控件中的动画占当前界面的大小大于所述第三阈值中的任一个。
在一种可能的设计中,所述根据每个所述有效控件的数据,获取所述显示数据,具体包括:
根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制;
根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的所有有效控件的数据进行整合,并将整合后的数据确定为所述显示数据。
在一种可能的设计中,所述方法适用于安卓操作系统,所述安卓操作系统包括集成屏幕数据共享单元的应用框架层,所述屏幕数据共享单元提供面向所述第一应用的第一应用程序API接口和面向第二应用的第二API接口;
所述屏幕数据共享单元根据所述第一应用的当前显示界面上的控件,通过所述第一API接口获取所述第一应用在当前显示界面上的显示数据;
所述屏幕数据共享单元通过所述第二API接口将所述显示数据共享给所述第二应用。
上述各可能的设计所提供的方法,通过根据第一应用当前显示界面上每个控件的数据属性,确定第一应用当前显示界面上的有效控件,从而根据每个有效控件的数据,获取第一应用当前显示界面的显示数据,该数据获取方式仅通过遍历控件的方式就可以获取,数据获取方式简单有效,并且确保了终端设备最终共享给第二应用的数据为满足第一预设条件的数据,即确保了该数据为满足用户需求、能够为用户提供更好的服务的过程数据,因此,其很大程度上提高了用户的体验效果,使得用户与终端设备之间的交互更加智能化;同时,本实施例根据第二应用的数据整合机制,将所获取的每个有效控件的数据进行整合,并将整合后的数据作为第一应用在当前显示界面上的显示数据,从而大大提高了共享数据的有效性,使得第二应用能够利用该整合后的显示数据更好的为用户提供服务。
在一种可能的设计中,所述判断当前显示的第一应用是否为预设的白名单中的应用,具体包括:
确定所述第一应用的上下文信息,所述上下文信息包括所述第一应用的标识和所述第一应用的当前显示界面的页面标识;
判断所述第一应用的标识是否与所述白名单中的应用的标识匹配;
若所述第一应用的标识与所述白名单中的应用的标识匹配,则判断所述第一应用的当前显示界面的页面标识是否与所述白名单中所述应用的页面标识匹配;
若匹配,则确定所述第一应用为所述白名单中的应用。
在一种可能的设计中,所述方法还包括:
将所述显示数据进行缓存;
若所述第一应用退出或者关闭,将所缓存的显示数据删除。
在一种可能的设计中,所述显示数据为JSON格式的数据,且所述显示数据携带所述第一应用的标识和/或所述第一应用的类型。
在一种可能的设计中,所述根据用户输入的授权操作指令,确定是否将所述显示数据共享给第二应用使用,具体包括:
显示用户授权界面,所述用户授权界面用于接收用户的授权操作指令;
若所述授权操作指令为授权指令,则将所述显示数据共享给第二应用使用;
若所述授权操作指令为禁止指令,则禁止所述第二应用共享所述显示数据。
上述各可能的设计提供的应用数据的共享方法,通过确定所述第一应用的上下文信息,并判断上下文信息中第一应用的标识是否与上述白名单中应用的标识匹配,并在第一应用的标识与所述应用的标识匹配时,进一步判断第一应用的当前显示界面对应的页面的标识是否与上述白名单中所述应用的页面的标识匹配,在第二页面的标识与白名单中所述应用的页面的标识匹配时确定第一应用为白名单中的应用,进而获取该第一应用在当前显示界面上的显示数据,从而根据用户输入的授权操作指令,确定是否将显示数据共享给第二应用使用。该方法通过数据共享单元遍历控件获取的第一应用在当前显示界面上的显示数据,其不需要第一应用执行相应的操作,因而该显示数据脱离了应用程序层中第一应用的授权限制,该显示数据独立存在于终端设备上,其并不受限于第一应用的开发商的授权权限,因此,只要用户决定将第一应用在当前显示界面上的显示数据进行共享,用户就可以通过相应的授权操作指令将该显示数据共享至任意类型的第二应用,这样保证了任意两个应用之间进行数据共享的开放性,以及数据的互联互通,大大提高了用户的体验。
第二方面,本发明实施例提供一种应用数据的共享装置,包括:判断模块、显示模块、获取模块和共享模块;
判断模块,用于判断所述显示模块当前显示的第一应用是否为预设的白名单中的应用;
获取模块,用于在所述判断模块判断所述第一应用为预设的白名单中的应用时,根据所述第一应用的当前显示界面上的控件获取所述第一应用在当前显示界面上的显示数据,所述控件为所述当前显示界面的界面元素;
共享模块,用于根据用户输入的授权操作指令,确定是否将所述显示数据共享给第二应用使用;其中,所述授权操作指令包括用于指示将所述显示数据共享给所述第二应用的授权指令和用于指示禁止将所述显示数据共享给所述第二应用的禁止指令。
在一种可能的设计中,所述获取模块,具体包括:
确定单元,用于根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件;所述有效控件为携带满足第一预设条件的数据的控件;所述数据属性包括所述控件中的文本长度、所述控件中的图片占当前界面的大小、所述控件中的动画占当前界面的大小中的至少一个;
获取单元,用于根据每个所述有效控件的数据,获取所述显示数据。
在一种可能的设计中,所述确定单元,具体用于当所述控件的数据属性为所述控件中的文本长度,且所述控件中的文本长度大于预设的第一阈值时,确定所述控件为有效控件;或者,当所述控件的数据属性为所述控件中的图片占当前界面的大小,且所述控件中的图片占当前界面的大小大于预设的第二阈值时,确定所述控件为有效控件;或者,当所述控件的数据属性为所述控件中的动画占当前界面的大小,且所述控件中的动画占当前界面的大小大于预设的第三阈值时,确定所述控件为有效控件;
其中,所述第一预设条件包括所述控件中数据的文本长度大于所述第一阈值、所述控件中的图片占当前界面的大小大于所述第二阈值、所述控件中的动画占当前界面的大小大于所述第三阈值中的任一个。
在一种可能的设计中,所述获取单元,具体用于根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制,并根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的所有有效控件的数据进行整合,并将整合后的数据确定为所述显示数据;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制。
在一种可能的设计中,所述装置适用于安卓操作系统,所述安卓操作系统包括集成屏幕数据共享单元的应用框架层,所述屏幕数据共享单元提供面向所述第一应用的第一应用程序API接口和面向第二应用的第二API接口;
所述屏幕数据共享单元根据所述第一应用的当前显示界面上的控件,通过所述第一API接口获取所述第一应用在当前显示界面上的显示数据;
所述屏幕数据共享单元通过所述第二API接口将所述显示数据共享给所述第二应用。
在一种可能的设计中,所述判断模块,具体用于确定所述第一应用的上下文信息,所述上下文信息包括所述第一应用的标识和所述第一应用的当前显示界面的页面标识;以及,判断所述第一应用的标识是否与所述白名单中的应用的标识匹配;若所述第一应用的标识与所述白名单中的应用的标识匹配,则判断所述第一应用的当前显示界面的页面标识是否与所述白名单中所述应用的页面标识匹配;若匹配,则确定所述第一应用为所述白名单中的应用。
在一种可能的设计中,所述装置还包括:
存储模块,用于将所述显示数据进行缓存;
删除模块,用于在所述第一应用退出或者关闭时,将所缓存的显示数据删除。
在一种可能的设计中,所述显示数据为JSON格式的数据,且所述显示数据携带所述第一应用的标识和/或所述第一应用的类型。
在一种可能的设计中,所述显示模块,还用于显示用户授权界面,所述用户授权界面用于接收用户的授权操作指令;
所述共享模块,用于在所述授权操作指令为授权指令时,将所述显示数据共享给第二应用使用;或者,在所述授权操作指令为禁止指令时,禁止所述第二应用共享所述显示数据。
上述第二方面以及第二方面的各可能的设计所提供的应用数据的共享装置,其有益效果可以参照上述第一方面以及第一方面的各可能的设计所带来的有益效果,在此不再赘述。
第三方面,本发明实施例提供一种终端设备,包括输入设备、显示设备和处理器;
所述处理器,用于判断所述显示设备当前显示的第一应用是否为预设的白名单中的应用,并在所述第一应用为所述白名单中的应用时,根据所述第一应用的当前显示界面上的控件获取所述第一应用在当前显示界面上的显示数据,所述控件为所述当前显示界面的界面元素;
所述输入设备,用于接收用户输入的授权操作指令,所述授权操作指令包括用于指示将所述显示数据共享给所述第二应用的授权指令和用于指示禁止将所述显示数据共享给所述第二应用的禁止指令;
所述处理器,还用于根据所述授权操作指令,确定是否将所述显示数据共享给第二应用使用。
在一种可能的设计中,所述处理器,具体用于根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件,并根据每个所述有效控件的数据,获取所述显示数据;其中,所述有效控件为携带满足第一预设条件的数据的控件;所述数据属性包括所述控件中的文本长度、所述控件中的图片占当前界面的大小、所述控件中的动画占当前界面的大小中的至少一个。
在一种可能的设计中,所述处理器,用于根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件,具体包括:
所述处理器,具体用于当所述控件的数据属性为所述控件中的文本长度,且所述控件中的文本长度大于预设的第一阈值时,确定所述控件为有效控件;或者,当所述控件的数据属性为所述控件中的图片占当前界面的大小,且所述控件中的图片占当前界面的大小大于预设的第二阈值时,确定所述控件为有效控件;或者,当所述控件的数据属性为所述控件中的动画占当前界面的大小,且所述控件中的动画占当前界面的大小大于预设的第三阈值时,确定所述控件为有效控件;
其中,所述第一预设条件包括所述控件中数据的文本长度大于所述第一阈值、所述控件中的图片占当前界面的大小大于所述第二阈值、所述控件中的动画占当前界面的大小大于所述第三阈值中的任一个。
在一种可能的设计中,所述处理器,用于根据每个所述有效控件的数据,获取所述显示数据,具体包括:
所述处理器,具体用于根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制,并根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的所有有效控件的数据进行整合,并将整合后的数据确定为所述显示数据;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制;
在一种可能的设计中,所述终端设备为安卓操作系统,所述安卓操作系统包括集成屏幕数据共享单元的应用框架层,所述屏幕数据共享单元提供面向所述第一应用的第一应用程序API接口和面向第二应用的第二API接口;
所述屏幕数据共享单元根据所述第一应用的当前显示界面上的控件,通过所述第一API接口获取所述第一应用在当前显示界面上的显示数据;
所述屏幕数据共享单元通过所述第二API接口将所述显示数据共享给所述第二应用。
在一种可能的设计中,所述处理器,用于判断当前显示的第一应用是否为预设的白名单中的应用,具体包括:
所述处理器,具体用于确定所述第一应用的上下文信息,所述上下文信息包括所述第一应用的标识和所述第一应用的当前显示界面的页面标识;以及判断所述第一应用的标识是否与所述白名单中的应用的标识匹配;若所述第一应用的标识与所述白名单中的应用的标识匹配,则判断所述第一应用的当前显示界面的页面标识是否与所述白名单中所述应用的页面标识匹配;若匹配,则确定所述第一应用为所述白名单中的应用。
在一种可能的设计中,所述处理器,还用于指示存储器将所述显示数据进行缓存;并在所述第一应用退出或者关闭时,将所缓存的显示数据删除。
在一种可能的设计中,所述显示数据为JSON格式的数据,且所述显示数据携带所述第一应用的标识和/或所述第一应用的类型。
在一种可能的设计中,所述显示设备,还用于显示用户授权界面,所述用户授权界面用于接收用户的授权操作指令;
所述处理器,具体用于当所述授权操作指令为授权指令时,将所述显示数据共享给第二应用使用;或者,当所述授权操作指令为禁止指令时,禁止所述第二应用共享所述显示数据。
上述第三方面以及第三方面的各可能的设计所提供的终端设备,其有益效果可以参照上述第一方面以及第一方面的各可能的设计所带来的有益效果,在此不再赘述。
鉴于在同一移动终端上的不同应用可认为已缺省获得用户的数据共享授权,本发明还提供了一种应用间数据的共享方法实施例,所述方法包括:
运行在移动终端的操作系统,通过第一应用程序接口(API,ApplicationInterface),获取第一应用的当前显示界面上的控件集合,所述控件集合为所述当前显示界面的界面元素;
所述运行在移动终端的操作系统判断所述第一应用的当前显示界面是否为预设的白名单中的数据分享页面;
若是,所述运行在移动终端的操作系统,根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据;
所述运行在移动终端的操作系统,通过第二应用程序接口(API,ApplicationInterface),将所述显示数据共享给第二应用。
由上可以看出,同一移动终端的不同的应用之间可以信息互通,而且还可以提高用户的体验。
可选的或进一步的,所述操作系统包括应用程序框架,所述应用程序框架包括显示系统(view system)和屏幕数据共享单元,其中,运行在移动终端的操作系统,通过第一应用程序接口,获取第一应用的当前显示界面上的控件集合,包括:
运行在所述移动终端的操作系统,通过所述显示系统,输出所述第一应用的当前显示界面;
所述显示系统,通过所述第一应用程序接口,将所述第一应用的当前显示界面上的所述控件集合传递给所述屏幕数据共享单元。
其中,所述控件集合可以包括一个控件、或两个控件,当然也可以包括三个或更多控件。
可选的或进一步的,所述运行在移动终端的操作系统,根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据,具体包括:
所述运行在移动终端的操作系统,根据所述第一应用名称、当前显示界面的页面名称、控件类型和控件标识,通过有效控件配置表确定所述第一应用当前显示界面上的有效控件;
所述运行在移动终端的操作系统,根据每个有效控件的数据,获取所述当前显示界面上的显示数据。
可选的或进一步的,所述运行在移动终端的操作系统,根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据,具体包括:
所述运行在移动终端的操作系统,根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件;所述有效控件为携带满足第一预设条件的数据的控件;所述数据属性包括所述控件中的文本长度、所述控件中的图片占当前界面的大小、所述控件中的动画占当前界面的大小中的至少一个;
所述运行在移动终端的操作系统,根据每个有效控件的数据,获取所述显示数据。
可选的或进一步的,所述运行在移动终端的操作系统,根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件,包括:
若所述控件的数据属性为所述控件中的文本长度,且所述控件中的文本长度大于预设的第一阈值,则所述运行在移动终端的操作系统确定所述控件为有效控件;
或者,
若所述控件的数据属性为所述控件中的图片占当前界面的大小,且所述控件中的图片占当前界面的大小大于预设的第二阈值,则所述运行在移动终端的操作系统确定所述控件为有效控件;
或者,
若所述控件的数据属性为所述控件中的动画占当前界面的大小,且所述控件中的动画占当前界面的大小大于预设的第三阈值,则所述运行在移动终端的操作系统确定所述控件为有效控件;
其中,所述第一预设条件包括所述控件中数据的文本长度大于所述第一阈值、所述控件中的图片占当前界面的大小大于所述第二阈值、所述控件中的动画占当前界面的大小大于所述第三阈值中的任一个。
可选的或进一步的,所述运行在移动终端的操作系统,根据每个有效控件的数据,获取所述当前显示界面上的显示数据,包括:
所述运行在移动终端的操作系统,根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制;
所述运行在移动终端的操作系统,根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的所有有效控件的数据进行整合,并将整合后的数据确定为所述显示数据。
可选的或进一步的,所述运行在移动终端的操作系统判断所述第一应用的当前显示界面是否为预设的白名单中的数据分享页面,包括:
所述运行在移动终端的操作系统确定所述第一应用的标识和所述第一应用的当前显示界面的页面标识;
所述运行在移动终端的操作系统判断所述第一应用的标识是否与所述白名单中的应用的标识匹配;
若所述第一应用的标识与所述白名单中的应用的标识匹配,则所述运行在移动终端的操作系统判断所述第一应用的当前显示界面的页面标识是否与所述白名单中所述应用的页面标识匹配;
若匹配,则所述运行在移动终端的操作系统确定当前显示界面为预设的白名单中的数据分享页面。
可选的或进一步的,所述运行在移动终端的操作系统,通过第二应用程序接口,将所述显示数据共享给第二应用,包括:
所述运行在移动终端的操作系统,通过应用数据分享配置表查询获得所述第二应用,所述应用数据分享配置表预设有所述第二应用与所述第一应用的数据订阅关系;
所述运行在移动终端的操作系统,调用所述第二应用程序接口,将所述显示数据传递给所述第二应用。
其中,应用数据分享配置表可以包括应用名称、界面的名称、控件类型、控件ID中的一个或多个。
可以理解的是,所述应用数据分享配置表与所述白名单可以为一个表,当然可以分开,即所述应用数据分享配置表为一个表,所述白名单为另一个表。
可选的或进一步的,所述运行在移动终端的操作系统,通过第二应用程序接口,将所述显示数据共享给第二应用,包括:
所述运行在移动终端的操作系统,通过所述第二应用程序接口,接收所述第二应用的调用请求;
所述运行在移动终端的操作系统将所述显示数据作为所述调用请求的返回数据传递给所述第二应用。
可选的或进一步的,所述方法还包括:
所述运行在移动终端的操作系统将所述显示数据进行缓存;
若所述第一应用退出或者关闭,所述运行在移动终端的操作系统将所缓存的显示数据删除。
其中,所述显示数据为JSON格式的数据,且所述显示数据携带所述第一应用的标识和/或所述第一应用的类型。
可以理解的是,上述一种应用间数据的共享方法的执行主体为运行在移动终端的操作系统,具体的,一种应用间数据的共享方法的执行主体可以为运行在移动终端的操作系统的应用程序框架的屏幕数据共享单元。所述的屏幕数据共享单元提供面向第一应用的第一应用程序接口和面向第二应用的第二应用程序接口。
本发明还提供了一种移动终端的实施例。所述移动终端包括存储器和处理器,所述存储器存储所述移动终端运行的操作系统指令代码,所述处理器运行所述存储器中的操作系统的指令代码,用于:
通过第一应用程序接口,获取第一应用的当前显示界面上的控件集合,所述控件集合为所述当前显示界面的界面元素;
判断所述第一应用的当前显示界面是否为预设的白名单中的数据分享页面;
若是,根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据;
通过第二应用程序接口,将所述显示数据共享给第二应用。
可选的或进一步的,所述操作系统包括应用程序框架,所述应用程序框架包括显示系统(view system)和屏幕数据共享单元,其中,所述处理器运行所述存储器中的操作系统的指令代码,用于:通过第一应用程序接口,获取第一应用的当前显示界面上的控件集合,包括:
所述处理器,通过所述显示系统,输出所述第一应用的当前显示界面;
所述显示系统,通过所述第一应用程序接口,将所述第一应用的当前显示界面上的所述控件集合传递给所述屏幕数据共享单元。
可选的或进一步的,所述处理器根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据,具体包括:
所述处理器,根据所述第一应用名称、当前显示界面的页面名称、控件类型和控件标识,通过有效控件配置表确定所述第一应用当前显示界面上的有效控件;
所述处理器,根据每个有效控件的数据,获取所述当前显示界面上的显示数据。
可选的或进一步的,所述处理器用于根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据,具体包括:
所述处理器用于根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件;所述有效控件为携带满足第一预设条件的数据的控件;所述数据属性包括所述控件中的文本长度、所述控件中的图片占当前界面的大小、所述控件中的动画占当前界面的大小中的至少一个;
所述处理器根据每个所述有效控件的数据,获取所述显示数据。
可选的或进一步的,所述处理器用于根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件,包括:
若所述控件的数据属性为所述控件中的文本长度,且所述控件中的文本长度大于预设的第一阈值,则所述处理器确定所述控件为有效控件;
或者,
若所述控件的数据属性为所述控件中的图片占当前界面的大小,且所述控件中的图片占当前界面的大小大于预设的第二阈值,则所述处理器确定所述控件为有效控件;
或者,
若所述控件的数据属性为所述控件中的动画占当前界面的大小,且所述控件中的动画占当前界面的大小大于预设的第三阈值,则所述处理器确定所述控件为有效控件;
其中,所述第一预设条件包括所述控件中数据的文本长度大于所述第一阈值、所述控件中的图片占当前界面的大小大于所述第二阈值、所述控件中的动画占当前界面的大小大于所述第三阈值中的任一个。
可选的或进一步的,所述处理器,根据每个有效控件的数据,获取所述当前显示界面上的显示数据,包括:
所述处理器,根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制;
所述处理器,根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的所有有效控件的数据进行整合,并将整合后的数据确定为所述显示数据。
可选的或进一步的,所述处理器判断所述第一应用的当前显示界面是否为预设的白名单中的数据分享页面,包括:
所述处理器确定所述第一应用的标识和所述第一应用的当前显示界面的页面标识;
所述处理器判断所述第一应用的标识是否与所述白名单中的应用的标识匹配;
若所述第一应用的标识与所述白名单中的应用的标识匹配,则所述处理器判断所述第一应用的当前显示界面的页面标识是否与所述白名单中所述应用的页面标识匹配;
若匹配,则所述处理器确定当前显示界面为预设的白名单中的数据分享页面。
可选的或进一步的,所述处理器,通过第二应用程序接口,将所述显示数据共享给第二应用,包括:
所述处理器,通过应用数据分享配置表查询获得所述第二应用,所述应用数据分享配置表预设有所述第二应用与所述第一应用的数据订阅关系;
所述处理器,调用所述第二应用程序接口,将所述显示数据传递给所述第二应用。
可选的或进一步的,所述处理器,通过第二应用程序接口,将所述显示数据共享给第二应用,包括:
所述处理器,通过所述第二应用程序接口,接收所述第二应用的调用请求;
所述处理器将所述显示数据作为所述调用请求的返回数据传递给所述第二应用。
可选的或进一步的,所述处理器还用于:
将所述显示数据进行缓存;
若所述第一应用退出或者关闭,将所缓存的显示数据删除。
可选的或进一步的,所述显示数据为JSON格式的数据,且所述显示数据携带所述第一应用的标识和/或所述第一应用的类型。
其中,该移动终端可以为手机、平板、穿戴式设备等,本发明实施例对此并不限制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用程序共享场景示意图;
图2为本发明实施例提供的手机的硬件结构框图;
图3为本发明实施例提供的现有技术中的安卓操作系统的结构框图;
图4为本发明实施例提供的安卓操作系统的结构框图;
图5为本发明实施例提供的应用数据的共享方法实施例一的流程示意图;
图6为本发明实施例提供的应用数据的共享方法实施例二的流程示意图;
图7为本发明实施例提供的应用数据的共享方法实施例三的流程示意图;
图8为本发明实施例提供的应用数据的共享方法实施例四的流程示意图;
图9为本发明实施例提供的用户授权界面示意图一;
图10为本发明实施例提供的用户授权界面示意图二;
图11为本发明实施例提供的应用数据的共享装置实施例一的结构示意图;
图12为本发明实施例提供的应用数据的共享装置实施例二的结构示意图;
图13为本发明实施例提供的应用数据的共享装置实施例三的结构示意图;
图14为本发明实施例提供的终端设备实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的应用数据的共享方法,可以适用于终端设备上任意两个应用程序之间共享应用数据的场景,参见图1所示的应用程序共享场景示意图,该场景中的应用程序为面向用户、可供用户操作的应用程序(Application,简称APP)。用户在使用APP时产生过程数据对用户来说一般是很有价值的,用户希望终端设备中的第三方应用能够利用这些过程数据为用户提供更好的服务,例如,用户在微信中和朋友聊天,聊天内容可能包含了用户的个人信息、行程信息、图片信息等,因此可以根据这些聊天内容将这些聊天内容中的部分或者全部数据共享给第三方应用,比如,根据用户在微信中对某个朋友发送的一条消息“明天下午3点在新街口吃饭”,可以在日程APP中为用户创建一个明天下午3点的日程提醒(即将消息内容共享至日程应用),或者,可以在地图APP中把新街口作为目的地的候选项(即将消息内容共享至地图APP),再或者,还可以在团购APP推荐中把新街口的美食作为推荐项(即将消息内容共享至团购APP)。
另外,本发明实施例所涉及的终端设备可以包括手机、平板电脑、PDA(PersonalDigital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等。
以移动终端为手机为例,图2示出的是与本发明实施例相关的手机100的部分结构的框图。参考图2,手机100包括、RF(Radio Frequency,射频)电路110、存储器120、其他输入设备130、显示屏140、传感器150、音频电路160、输入输出(Input or Output,简称I/O)子系统170、处理器180、以及电源190等部件。本领域技术人员可以理解,图2中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。本领领域技术人员可以理解显示屏140属于用户界面(UI,User Interface),且手机100可以包括比图示或者更少的用户界面。
下面结合图2对手机100的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobilecommunication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行手机100的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图象播放功能等)等;存储数据区可存储根据手机100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其他输入设备130可用于接收输入的数字或字符信息,以及产生与手机100的用户设置以及功能控制有关的键信号输入。具体地,其他输入设备130可包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆、光鼠(光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸)等中的一种或多种。其他输入设备130与I/O子系统170的其他输入设备控制器171相连接,在其他设备输入控制器171的控制下与处理器180进行信号交互。
显示屏140可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单,还可以接受用户输入。具体的,显示屏140可包括显示面板141,以及触控面板142。其中显示面板141可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等形式来配置显示面板141。触控面板142,也称为触摸屏、触敏屏等,可收集用户在其上或附近的接触或者非接触操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板142上或在触控面板142附近的操作,也可以包括体感操作;该操作包括单点控制操作、多点控制操作等操作类型。),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板142可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位、姿势,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成处理器能够处理的信息,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板142,也可以采用未来发展的任何技术实现触控面板142。进一步的,触控面板142可覆盖显示面板141,用户可以根据显示面板141显示的内容(该显示内容包括但不限于,软键盘、虚拟鼠标、虚拟按键、图标等等),在显示面板141上覆盖的触控面板142上或者附近进行操作,触控面板142检测到在其上或附近的操作后,通过I/O子系统170传送给处理器180以确定用户输入,随后处理器180根据用户输入通过I/O子系统170在显示面板141上提供相应的视觉输出。虽然在图,2中,触控面板142与显示面板141是作为两个独立的部件来实现手机100的输入和输入功能,但是在某些实施例中,可以将触控面板142与显示面板141集成而实现手机100的输入和输出功能。
手机100还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在手机100移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,麦克风162可提供用户与手机100之间的音频接口。音频电路160可将接收到的音频数据转换后的信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,麦克风162将收集的声音信号转换为信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路110以发送给比如另一手机,或者将音频数据输出至存储器120以便进一步处理。
I/O子系统170用来控制输入输出的外部设备,可以包括其他设备输入控制器171、传感器控制器172、显示控制器173。可选的,一个或多个其他输入控制设备控制器171从其他输入设备130接收信号和/或者向其他输入设备130发送信号,其他输入设备130可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮、光鼠(光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸)。值得说明的是,其他输入控制设备控制器171可以与任一个或者多个上述设备连接。所述I/O子系统170中的显示控制器173从显示屏140接收信号和/或者向显示屏140发送信号。显示屏140检测到用户输入后,显示控制器173将检测到的用户输入转换为与显示在显示屏140上的用户界面对象的交互,即实现人机交互。传感器控制器172可以从一个或者多个传感器150接收信号和/或者向一个或者多个传感器150发送信号。
处理器180是手机100的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机100的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
手机100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
尽管未示出,手机100还可以包括摄像头、蓝牙模块等,在此不再赘述。
综上,上述图2从硬件组成角度介绍了以手机为例的终端设备的结构框架,本发明实施例涉及的应用数据的共享方法,也涉及终端设备的软件层面的系统架构,需要说明的是,本发明实施例涉及的方法,可以适用于安卓(Android)系统、OS系统、Darwin系统、RTXC系统、Linux系统、Unix系统、Windows系统、嵌入式操作系统例如VxWorks等操作系统。同样的,基于上述图2以手机为例的基础上,下述图3以操作系统为手机上的Android系统为例,介绍本发明实施例的方法所涉及的软件操作系统的系统框架。
具体的,Android是一种开源的移动操作系统,作为一个移动设备平台,其层次结构包含了一个操作系统,中间件(Middle Ware)和应用程序(Application),如图3所示,Android操作系统分为如下几个层次:
(1)应用程序层(Application)
开发人员可以基于安卓软件开发工具包(Software Development Kit,简称SDK)开发应用程序,同时操作系统本身也包含了一些基础应用,例如短信、电话、图片查看器、网页(Web)浏览器等系统级应用。
(2)应用程序框架层(Application Framework)
Android的应用程序框架层为应用层提供各种应用程序接口(ApplicationProgramming Interface,简称API),它包含了用户界面(User Interface,简称UI)程序中所需的各种控件,例如:Views(视图组件)包括TextView(文本控件)、ListView(列表)、Buttons(按钮)、WebView(网页浏览器控件)
(3)系统库和运行时环境层(Libraries &Android Runtime)
这一层包括各种库和运行时环境两部分,各种库主要是C库、多媒体库、图形处理引擎等;运行时环境主要是Dalvik虚拟机,它和标准的JAVA虚拟机不同,它执行的是.dex文件,是针对移动设别进行过裁剪和优化的虚拟机。
(4)Linux内核层(Kernel)
Android是基于Linux内核开发,其核心系统服务、内存管理、进程管理、网络协议及驱动都依赖于Linux内核。该Linux内核层的下方即就是图2介绍的手机的硬件层。
上述图2和图3从硬件和软件的角度分别阐述了终端设备的架构。现有技术中终端设备的上的任意两个应用(假设为应用A和应用B)之间在进行应用数据的共享时,应用B必须要得到应用A的授权才能共享应用A的数据,而实际情况是各个应用开发商出于商业利益的考虑,一般都不会把各自的数据共享给其他应用使用,从而造成了信息垄断,信息的互联互通性较差,用户体验度不高。
因此,本发明实施例提供的应用数据的共享方法、装置和终端设备,旨在解决现有技术中应用之间因开发商授权限制的影响导致信息垄断、信息的互联互通性较差,用户体验度不高的技术问题。
参见图4所示,为了解决现有技术中的上述问题,以安卓系统为例,本发明实施例基于上述图3所示的安卓操作系统架构层次,在Android操作系统的Framework层增加了屏幕数据共享单元(Screen Data Share),以下简称数据共享单元。它提供2个API接口供显示系统(View System)和第三方应用(例如上述例子中涉及的日程、地图APP、团购APP等)使用。显示框架通过其中一个API接口将当前正在显示的应用的控件树(该控件树包括应用的当前显示界面的父控件和子控件的集合)传递给数据共享单元,数据共享单元根据该控件树获取到该应用当前显示界面的应用数据,从而通过另一个API接口将该应用数据共享给第三方应用。
可选的,下述方法实施例的执行主体可以是终端设备,还可以是集成在终端设备中的应用数据的共享装置,该装置可以通过软件、硬件或者软硬结合的方式实现。可选的,下述方法实施例以执行主体为终端设备为例来进行说明。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图5为本发明实施例提供的应用数据的共享方法实施例一的流程示意图。本实施例涉及的是终端设备将获取到的与预设的白名单匹配的第一应用当前显示界面的显示数据,依据用户的授权指令,确定是否将该显示数据共享至其他第三方应用的具体过程。如图5所示,该方法包括如下步骤:
S101:判断当前显示的第一应用是否为预设的白名单中的应用。
具体的,当终端设备识别到第一应用在终端设备上启动,并且显示在当前界面,终端设备判断该第一应用是否与预设的白名单中的应用的属性信息匹配。该白名单中的应用可以是开发人员根据开发经验或者相应的阈值默认设置的应用,这些应用的显示界面均包括能够为用户提供更好的服务的数据,可选的,白名单中的应用还可以是第三方应用(即想要共享其他应用的显示数据的应用)告知操作系统哪些应用的应用数据对自己来说是想要共享的,这类第三方应用告知给操作系统的应用也可以被添加至白名单中。可选的,白名单中可以包括应用的标识、该应用的类型、该应用中携带数据的页面的标识等。
S102:若匹配,则根据所述第一应用的当前显示界面上的控件获取所述第一应用在当前显示界面上的显示数据。
具体的,当终端设备判断当前在终端设备上的第一应用为白名单中的应用时,即终端设备确定该第一应用携带了能够为用户提供更好的服务的数据,则终端设备可以根据该第一应用的当前显示界面上的控件获取该第一应用在当前显示界面上的显示数据,该控件为源应用当前显示界面的界面元素,例如,假设第一应用为微信,当前显示界面为微信的聊天界面,则该聊天界面整体、聊天界面中的文本内容、图像或者时间均为该聊天界面的控件。可选的,本发明实施例在获取第一应用在当前显示界面上的显示数据时,是通过图4中位于应用程序框架层上的屏幕数据共享单元来获取的,该屏幕数据共享单元提供面向第一应用的第一API接口和面向第二应用的第二API接口,位于应用程序框架层上的显示系统通过该第一API接口将获得的第一应用在当前显示界面的控件传输给屏幕数据共享单元,屏幕数据共享单元可以通过遍历当前显示界面上的控件,获得第一应用在当前显示界面上的显示数据;屏幕数据共享单元通过第二API接口将显示数据共享给第二应用。可选的,该显示数据可以是第一应用当前显示界面上显示的所有数据,还可以是终端设备将第一应用当前显示界面上显示的所有数据进行筛选后的部分数据,本发明实施例对此并不做限定。
需要说明的是,通过数据共享共享获取得到第一应用在当前显示界面上的显示数据,其不需要第一应用执行相应的操作,因而该显示数据脱离了应用程序层中第一应用的授权限制,该显示数据独立存在于终端设备上,在将该显示数据分享给其他应用时,无需考虑第一应用的开发商是否授权。
S103:根据用户输入的授权操作指令,确定是否将所述显示数据共享给第二应用使用。
其中,该授权操作指令包括用于指示将显示数据共享给第二应用的授权指令和用于指示禁止将上述显示数据共享给第二应用的禁止指令。
当图4中的数据共享单元获得第一应用在当前显示界面上的显示数据之后,此时,若终端设备接收到用户输入的授权操作指令,该授权操作指令包括用于指示将所述显示数据共享给所述第二应用的授权指令和用于指示禁止将所述显示数据共享给所述第二应用的禁止指令,因此终端设备可以根据该授权指令或者禁止指令确定是否将第一应用在当前显示界面上的显示数据共享给第二应用,该第二应用可以为终端设备上除第一应用之外的任一类型的应用,本发明实施例对第二应用的类型并不做限制。可选的,上述图4中涉及的数据共享单元所提供的面向第三方应用(即第二应用)的第二API接口,既可以支持第三方应用主动查询当前的显示数据,也可以支持第三方应用订阅当前的显示数据,即当终端获取到第一应用的显示数据后会根据用户的授权操作指令决定是否共享至该第三方应用,而不存在共享至其他第三方应用的可能。
由上述描述可知,当终端设备获取到第一应用在当前显示界面上的显示数据之后,该获取的显示数据相当于可以脱离第一应用不受第一应用的限制,由终端设备所有,因而该显示数据的共享对象可以由用户的授权操作指令,其并不受限于第一应用的开发商的授权权限,因此,只要用户决定将第一应用在当前显示界面上的显示数据进行共享,用户就可以通过相应的授权操作指令将该显示数据共享至任意类型的第二应用,这样保证了任意两个应用之间进行数据共享的开放性,以及数据的互联互通,大大提高了用户的体验。
本发明实施例提供的应用数据的共享方法,通过在判断当前显示的第一应用为预设的白名单中的应用时,根据第一应用的当前显示界面上的控件获取该第一应用在当前显示界面上的显示数据,从而根据用户输入的授权操作指令,确定是否将所述显示数据共享给第二应用使用。本发明实施例的方法,终端设备通过数据共享单元所获取的显示数据脱离第一应用的授权限制,因而第一应用在当前显示界面上的显示数据的共享对象由用户的授权操作指令直接决定,其并不受限于第一应用的开发商的授权权限,因此,只要用户决定将第一应用在当前显示界面上的显示数据进行共享,用户就可以通过相应的授权操作指令将该显示数据共享至任意类型的第二应用,这样保证了任意两个应用之间进行数据共享的开放性,以及数据的互联互通,大大提高了用户的体验。
图6为本发明实施例提供的应用数据的共享方法实施例二的流程示意图。本实施例涉及的是终端设备根据第一应用在当前显示界面上的有效邮件获取第一应用在当前显示界面上的显示数据的具体过程。在上述实施例的基础上,进一步地,上述S102具体可以包括如下步骤:
S201:根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件。
其中,所述有效控件为携带满足第一预设条件的数据的控件;所述数据属性包括所述控件中的文本长度、所述控件中的图片占当前界面的大小、所述控件中的动画占当前界面的大小中的至少一个;
具体的,终端设备上的各个应用程序的UI界面上均涉及各种各样的控件,例如TextView(文本控件)、ListView(列表)、Buttons(按钮)、WebView(网页浏览器控件)以及这些控件的子类等,每个控件上分别具有相应类型的数据。当终端设备确定第一应用为白名单中的应用匹配时,终端设备可以获取该第一应用对应的控件集合(获取方式可以参见现有技术,在此不再赘述),该控件集合包括第一应用当前显示界面上的全部控件;可选的,该控件集合可以为第一应用对应的控件树,该控件树包括父控件和各种子控件,例如,假设第一应用为微信,当前显示界面为微信的聊天界面,则该聊天界面整体是一个父控件,聊天界面中的文本内容、图像或者时间就是子控件,再例如,如果文本内容中插入了表情图片,则这个表情图片就是子控件的子控件。
进一步地,终端设备在获取第一应用对应的控件集合之后,会遍历该控件集合中的所有控件,确定哪些控件携带了满足第一预设条件的数据,从而将这些携带了满足第一预设条件的数据的控件确定为有效控件。常见的携带用户数据的控件可以参见下述表1的举例:
表1
序号 控件类型 控件名 数据
1 文本控件 TextView 文本
2 文本编辑控件 EditText 文本
3 图像控件 ImageView 图片
4 网页控件 WebView 网页
需要说明的是,控件本身会携带自身数据的获取方法,例如,文本控件可以通过getText()获取文件控件上的数据。常见控件的获取数据的方法下述表2所举的例子:
表2
控件名 获取的数据 获取数据的方法
Text View 文本内容 public String getText()
Edit Text 文本内容 public String getText()
Image View 图片二进制数据 public Drable getDrable()
Web View 网页URL public String getUrl()
上述URL为统一资源定位符(Uniform Resource Locator,简称URL)。
因此,终端设备会通过每个控件自身所携带的获取数据的方法,获取每个控件上的数据,然后根据每个第一控件的数据的数据属性,确定该一控件上携带的数据是否满足第一预设条件,若满足,则终端设备确定该控件为有效控件,从而确定出第一应用当前显示界面上的所有有效控件,该第一预设条件为开发人员预置的关于控件上的数据对用户是否有价值所设置的条件。
可选的,上述数据属性可以包括控件中数据的文本长度、控件中的图片占当前界面的大小、控件中的动画占当前界面的大小中的至少一个,则可断的,该第一预设条件具体可以为:所述控件中数据的文本长度大于所述第一阈值、所述控件中的图片占当前界面的大小大于所述第二阈值、所述控件中的动画占当前界面的大小大于所述第三阈值中的任一个条件。
故而,终端设备根据每个控件的数据的数据属性,并结合上述第一预设条件,确定第一应用对应的控件集合中的有效控件,具体可以为:若控件的数据的数据属性为该控件中数据的文本长度,且该第一控件中的文本长度大于预设的第一阈值,则确定该控件为有效控件;或者,若控件的数据的数据属性为该控件中的图片占当前界面的大小,且该控件中的图片占当前界面的大小大于预设的第二阈值,则确定该控件为有效控件;或者,若控件的数据的数据属性为该控件中的动画占当前界面的大小,且该控件中的动画占当前界面的大小大于预设的第三阈值,则确定该控件为有效控件。
采用上述S201的方法,即可以确定出第一应用对应的控件集合中的所有有效控件。
S202:根据每个所述有效控件的数据,获取所述显示数据。
可选的,终端设备可以将每个有效控件上的数据的集合直接作为显示数据,还可以对每个控件上的数据进行相应的整合,将整合之后的数据作为显示数据,该整合方法具体可以参见图7所示的实施例三,如图7所示,该方法具体可以包括如下步骤:
S301:根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制。
可选的,每个第二应用在需要共享当前显示的第一应用的显示数据时,会提前在操作系统进行注册,从而向操作系统发送自己的注册信息,该注册信息中携带第二应用得数据整合机制,旨在告知操作系统自己所需要的数据的形式或者类型,终端设备基于操作系统就可以获知每个第二应用的数据整合机制。可选的,终端设备还可以根据第二应用的类型确定第二应用的数据整合机制,该第二应用的类型可以包括聊天类应用、购物类应用、快递类应用、视频类应用、音乐类应用中的任一个。
S302:根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的所有有效控件的数据进行整合,并将整合后的数据确定为所述显示数据。
具体的,当终端设备获得第一应用在当前显示界面上的显示数据之后,也确定要将该显示数据共享给哪一个或者几个第二应用,则终端设备根据该第二应用的数据整合机制,对第一应用当前显示界面上的所有有效控件的数据进行整合,并将整合后的数据确定为所述显示数据。例如假设当前显示的第一应用为微信,当前显示界面为微信的聊天界面,该聊天界面中展示了昵称、对话内容、时间3种不同的有效控件,若第二应用为日历应用,则该第二应用的数据整合机制为{发送者昵称、接收者昵称、消息内容、时间戳},因此终端设备可以将第一应用中的这3个有效控件的内容作为一个整体输出,作为一次对话,格式为:{发送者昵称、接收者昵称、消息内容、时间戳},进一步可以将多次对话按照时间顺序整合成一次会话。这样,就可以将整合后的数据作为第一应用在当前显示界面上的显示数据,从而大大提高了共享数据的有效性,使得第二应用能够利用该整合后的显示数据更好的为用户提供服务。
可选的,用户在使用第一应用过程中,当前显示界面会随时发生变化,因此当前显示界面上的数据也会随着界面的变化而发生变化,故,终端设备在得到第一应用在当前显示界面的显示数据之后,可以将该显示数据进行缓存,并在用户退出第一应用或者关闭第一应用时,将所缓存的显示数据进行删除,这样大大提高了数据的安全性,避免因当前显示界面的变化而导致显示数据丢失的情况发生。
可选的,为了方便将上述显示数据更好的共享给其他第二应用使用,可以将上述显示数据设置为JSON格式的数据,该显示数据携带第一应用的标识和/或第一应用的类型。
本发明实施例提供的应用数据的共享方法,通过根据第一应用当前显示界面上每个控件的数据属性,确定第一应用当前显示界面上的有效控件,从而根据每个有效控件的数据,获取第一应用当前显示界面的显示数据,该数据获取方式仅通过遍历控件的方式就可以获取,数据获取方式简单有效,并且确保了终端设备最终共享给第二应用的数据为满足第一预设条件的数据,即确保了该数据为满足用户需求、能够为用户提供更好的服务的过程数据,因此,其很大程度上提高了用户的体验效果,使得用户与终端设备之间的交互更加智能化;同时,本实施例根据第二应用的数据整合机制,将所获取的每个有效控件的数据进行整合,并将整合后的数据作为第一应用在当前显示界面上的显示数据,从而大大提高了共享数据的有效性,使得第二应用能够利用该整合后的显示数据更好的为用户提供服务。
图8为本发明实施例提供的应用数据的共享方法实施例四的流程示意图。本实施例涉及的是在上述各实施例的基础上,终端设备将获取到的第一应用当前显示界面的显示数据,依据用户的授权指令确定是否将该显示数据共享至第二应用的更加详尽的过程。本实施例中,白名单中的应用均为满足上述第一预设条件的应用,该白名单中的应用的的属性信息包括该应用的标识、该应用的页面的标识,该页面中所携带的数据满足上述第一预设条件(即该页面中所携带的数据可以为对用户有价值的数据)。如图8所示,该方法可以包括如下步骤:
S401:确定所述第一应用的上下文信息,所述上下文信息包括所述第一应用的标识和所述第一应用的当前显示界面的页面标识。
可选的,终端设备可以从第一应用对应的控件集合中获取第一应用的上下文信息,还可以通过操作系统获取第一应用的上下文信息。该上下文信息包括第一应用的标识和第一应用的当前显示界面的页面标识。可选的,该上下文信息还可以包括该第一应用的类型。
S402:判断所述第一应用的标识是否与所述白名单中的应用的标识匹配。
具体的,该白名单中包括满足上述第一预设条件的应用的标识和该应用中展示对用户有价值的数据的页面的标识,可选的,该白名单中还可以包括满足上述第一预设条件的应用的类型。可选的,由于用户使用的应用数量较多,功能也各不相同,开发人员可以对应用市场里面的主流应用按照第一预设条件进行筛选和归类,整理出一个白名单。可选的,开发人员可以将应用市场中的应用归为以下几类,参见表3所示的例子:
表3
序号 类型 数据内容 数据字段 应用举例
1 聊天类 聊天内容 昵称、对话内容、时间 微信
2 购物类 商品信息 商品名、价格 淘宝
3 快递类 快递信息 快递单号、物流信息 快递100
4 音乐类 歌曲信息 歌曲名、歌手名、专辑名 酷我音乐
5 视频类 视频信息 视频名、选集 优酷视频
6 阅读类 文章信息 标题、正文、URL 网易新闻
终端设备获得第一应用的上下文信息之后,终端设备将该上下文信息中的第一应用的标识与上述白名单中的各应用的标识进行匹配,如果匹配上,则执行下述S403。
S403:若所述第一应用的标识与白名单中的应用的标识匹配,则判断第一应用的当前显示界面的页面标识是否与所述白名单中所述应用的页面的标识匹配。
S404:若匹配,则确定所述第一应用为所述白名单中的应用。
具体的,当第一应用的标识与上述白名单中的某一应用(假设为应用A)的标识匹配,则进一步地将第一应用当前显示界面的页面的标识与该应用A的页面标识再次进行匹配,如果二者均匹配上,则终端设备确定第一应用为白名单中的应用,进而执行下述S405。
S405:根据第一应用的当前显示界面上的控件获取所述第一应用在当前显示界面上的显示数据。
当终端设备确定第一应用与白名单中的应用匹配时,获取该第一应用在当前显示界面上的显示数据,具体的获取过程可以参见上述实施例一至上述实施例三中的描述,在此不再赘述。
S406:显示用户授权界面,所述用户授权界面用于接收用户的授权操作指令。
具体的,当第一应用的当前显示界面的页面标识与上述白名单中的任一应用的页面标识匹配时,则终端会向用户显示用户授权界面,提示用户输入相应的授权操作指令,从而将第一应用当前显示界面的显示数据共享至第二应用。本发明实施例中的用户授权操作指令包括用于指示将上述显示数据共享给第二应用的授权指令和用于指示禁止将上述显示数据共享给所述第二应用的禁止指令。可选的,可以参见图9所示的用户授权界面,该用户授权界面可以悬浮在当前显示界面上,还可以显示在消息通知栏中,用户可以下拉通知栏查看用户授权界面,图9仅是用户授权界面的一种示例。可选的,该用户授权界面可以包括两个选项(Option),一个选项用于接收用户的授权指令,另一个选项用于接收用户的禁止指令;可选的,该用户授权界面还可以是语音授权界面,该界面上显示一语音输入控件,用户操作该语音输入控件输入相应的语音指令,以向终端输入相应的授权或者禁止指令,可以参见图10所示,当然图10也仅是用户授权界面的一种示例。本发明实施例对用户授权界面的形式和用户输入授权操作指令的方式均不做限定。
S407:若所述授权操作指令为授权指令,则将所述显示数据共享给第二应用使用。
S408:若所述授权操作指令为禁止指令,则禁止所述第二应用共享所述显示数据。
本发明实施例提供的应用数据的共享方法,通过确定所述第一应用的上下文信息,并判断上下文信息中第一应用的标识是否与上述白名单中应用的标识匹配,并在第一应用的标识与所述应用的标识匹配时,进一步判断第一应用的当前显示界面对应的页面的标识是否与上述白名单中所述应用的页面的标识匹配,在第二页面的标识与白名单中所述应用的页面的标识匹配时确定第一应用为白名单中的应用,进而获取该第一应用在当前显示界面上的显示数据,从而根据用户输入的授权操作指令,确定是否将显示数据共享给第二应用使用。本发明实施例的方法,通过数据共享单元遍历控件获取的第一应用在当前显示界面上的显示数据,其不需要第一应用执行相应的操作,因而该显示数据脱离了应用程序层中第一应用的授权限制,该显示数据独立存在于终端设备上,其并不受限于第一应用的开发商的授权权限,因此,只要用户决定将第一应用在当前显示界面上的显示数据进行共享,用户就可以通过相应的授权操作指令将该显示数据共享至任意类型的第二应用,这样保证了任意两个应用之间进行数据共享的开放性,以及数据的互联互通,大大提高了用户的体验。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图11为本发明实施例提供的应用数据的共享装置实施例一的结构示意图。该共享装置可以为独立的终端设备,还可以为集成在终端设备中的装置,该装置可以通过软件、硬件或者软硬结合的方式实现。如图11所示,该应用数据的共享装置包括:判断模块10、显示模块13、获取模块11和共享模块12。
其中,判断模块10,用于判断所述显示模块13当前显示的第一应用是否为预设的白名单中的应用;
获取模块11,用于在所述判断模块10判断所述第一应用为预设的白名单中的应用时,根据所述第一应用的当前显示界面上的控件获取所述第一应用在当前显示界面上的显示数据,所述控件为所述当前显示界面的界面元素;
共享模块12,用于根据用户输入的授权操作指令,确定是否将所述显示数据共享给第二应用使用;其中,所述授权操作指令包括用于指示将所述显示数据共享给所述第二应用的授权指令和用于指示禁止将所述显示数据共享给所述第二应用的禁止指令。
本发明实施例提供的应用数据的共享装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
图12为本发明实施例提供的应用数据的共享装置实施例二的结构示意图。在上述实施例的基础上,进一步地,上述获取模块11,具体包括:
确定单元111,用于根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件;所述有效控件为携带满足第一预设条件的数据的控件;所述数据属性包括所述控件中的文本长度、所述控件中的图片占当前界面的大小、所述控件中的动画占当前界面的大小中的至少一个;
获取单元112,用于根据每个所述有效控件的数据,获取所述显示数据。
进一步地,所述确定单元111,具体用于当所述控件的数据属性为所述控件中的文本长度,且所述控件中的文本长度大于预设的第一阈值时,确定所述控件为有效控件;或者,当所述控件的数据属性为所述控件中的图片占当前界面的大小,且所述控件中的图片占当前界面的大小大于预设的第二阈值时,确定所述控件为有效控件;或者,当所述控件的数据属性为所述控件中的动画占当前界面的大小,且所述控件中的动画占当前界面的大小大于预设的第三阈值时,确定所述控件为有效控件;
其中,所述第一预设条件包括所述控件中数据的文本长度大于所述第一阈值、所述控件中的图片占当前界面的大小大于所述第二阈值、所述控件中的动画占当前界面的大小大于所述第三阈值中的任一个。
进一步地,所述获取单元112,具体用于根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制,并根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的所有有效控件的数据进行整合,并将整合后的数据确定为所述显示数据;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制。
本发明实施例提供的应用数据的共享装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
更进一步地,所述装置适用于安卓操作系统,所述安卓操作系统包括集成屏幕数据共享单元的应用框架层,所述屏幕数据共享单元提供面向所述第一应用的第一应用程序API接口和面向第二应用的第二API接口;
所述屏幕数据共享单元根据所述第一应用的当前显示界面上的控件,通过所述第一API接口获取所述第一应用在当前显示界面上的显示数据;
所述屏幕数据共享单元通过所述第二API接口将所述显示数据共享给所述第二应用。
可选的,所述判断模块10,具体用于确定所述第一应用的上下文信息,所述上下文信息包括所述第一应用的标识和所述第一应用的当前显示界面的页面标识;以及,判断所述第一应用的标识是否与所述白名单中的应用的标识匹配;若所述第一应用的标识与所述白名单中的应用的标识匹配,则判断所述第一应用的当前显示界面的页面标识是否与所述白名单中所述应用的页面标识匹配;若匹配,则确定所述第一应用为所述白名单中的应用。
在上述图12所示的实施例二的基础上,图13提供了应用数据的共享装置实施例三的结构示意图,进一步地,上述装置还可以包括:存储模块14、删除模块15。存储模块14,用于将所述显示数据进行缓存;
删除模块15,用于在所述第一应用退出或者关闭时,将所缓存的显示数据删除;所述显示数据为JSON格式的数据,且所述显示数据携带所述第一应用的标识和/或所述第一应用的类型。
可选的,所述显示模块13,还用于显示用户授权界面,所述用户授权界面用于接收用户的授权操作指令;
所述共享模块12,用于在所述授权操作指令为授权指令时,将所述显示数据共享给第二应用使用;或者,在所述授权操作指令为禁止指令时,禁止所述第二应用共享所述显示数据。
本发明实施例提供的应用数据的共享装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
图14为本发明实施例提供的终端设备实施例的结构示意图。如图14所示,该终端可以包括:处理器20,例如CPU;存储器21,至少一个通信总线22、显示设备23和输入设备24。通信总线22用于实现元件之间的通信连接。存储器21可能包含高速RAM存储器,也可能还包括非易失性存储器NVM,例如至少一个磁盘存储器,存储器21中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤;所述输入设备24,用于向用户提供输入接口,接收用户输入的操作或指令等。
在本实施例中,所述处理器20,用于判断所述显示设备23当前显示的第一应用是否为预设的白名单中的应用,并在所述第一应用为所述白名单中的应用时,根据所述第一应用的当前显示界面上的控件获取所述第一应用在当前显示界面上的显示数据,所述控件为所述当前显示界面的界面元素;
所述输入设备24,用于接收用户输入的授权操作指令,所述授权操作指令包括用于指示将所述显示数据共享给所述第二应用的授权指令和用于指示禁止将所述显示数据共享给所述第二应用的禁止指令;
所述处理器20,还用于根据所述授权操作指令,确定是否将所述显示数据共享给第二应用使用。
本发明实施例提供的终端设备,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
进一步地,所述处理器20,具体用于根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件,并根据每个所述有效控件的数据,获取所述显示数据;其中,所述有效控件为携带满足第一预设条件的数据的控件;所述数据属性包括所述控件中的文本长度、所述控件中的图片占当前界面的大小、所述控件中的动画占当前界面的大小中的至少一个。
可选的,所述处理器20,用于根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件,具体包括:
所述处理器20,具体用于当所述控件的数据属性为所述控件中的文本长度,且所述控件中的文本长度大于预设的第一阈值时,确定所述控件为有效控件;或者,当所述控件的数据属性为所述控件中的图片占当前界面的大小,且所述控件中的图片占当前界面的大小大于预设的第二阈值时,确定所述控件为有效控件;或者,当所述控件的数据属性为所述控件中的动画占当前界面的大小,且所述控件中的动画占当前界面的大小大于预设的第三阈值时,确定所述控件为有效控件;
其中,所述第一预设条件包括所述控件中数据的文本长度大于所述第一阈值、所述控件中的图片占当前界面的大小大于所述第二阈值、所述控件中的动画占当前界面的大小大于所述第三阈值中的任一个。
可选的,所述处理器20,用于根据每个所述有效控件的数据,获取所述显示数据,具体包括:
所述处理器20,具体用于根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制,并根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的所有有效控件的数据进行整合,并将整合后的数据确定为所述显示数据;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制;
可选的,所述终端设备为安卓操作系统,所述安卓操作系统包括集成屏幕数据共享单元的应用框架层,所述屏幕数据共享单元提供面向所述第一应用的第一应用程序API接口和面向第二应用的第二API接口;
所述屏幕数据共享单元根据所述第一应用的当前显示界面上的控件,通过所述第一API接口获取所述第一应用在当前显示界面上的显示数据;
所述屏幕数据共享单元通过所述第二API接口将所述显示数据共享给所述第二应用。
可选的,所述处理器20,用于判断当前显示的第一应用是否为预设的白名单中的应用,具体包括:
所述处理器20,具体用于确定所述第一应用的上下文信息,所述上下文信息包括所述第一应用的标识和所述第一应用的当前显示界面的页面标识;以及判断所述第一应用的标识是否与所述白名单中的应用的标识匹配;若所述第一应用的标识与所述白名单中的应用的标识匹配,则判断所述第一应用的当前显示界面的页面标识是否与所述白名单中所述应用的页面标识匹配;若匹配,则确定所述第一应用为所述白名单中的应用。
可选的,所述处理器20,还用于指示存储器21将所述显示数据进行缓存;并在所述第一应用退出或者关闭时,将所缓存的显示数据删除。所述显示数据为JSON格式的数据,且所述显示数据携带所述第一应用的标识和/或所述第一应用的类型。
可选的,所述显示设备23,还用于显示用户授权界面,所述用户授权界面用于接收用户的授权操作指令;
所述处理器20,具体用于当所述授权操作指令为授权指令时,将所述显示数据共享给第二应用使用;或者,当所述授权操作指令为禁止指令时,禁止所述第二应用共享所述显示数据。
本发明实施例提供的终端设备,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
鉴于在同一移动终端上的不同应用可认为已缺省获得用户的数据共享授权,本发明还提供了一种应用间数据的共享方法实施例,所述方法包括:
运行在移动终端的操作系统,通过第一应用程序接口(API,ApplicationInterface),获取第一应用的当前显示界面上的控件集合,所述控件集合为所述当前显示界面的界面元素;
所述运行在移动终端的操作系统判断所述第一应用的当前显示界面是否为预设的白名单中的数据分享页面;
若是,所述运行在移动终端的操作系统,根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据;
所述运行在移动终端的操作系统,通过第二应用程序接口(API,ApplicationInterface),将所述显示数据共享给第二应用。
由上可以看出,同一移动终端的不同的应用之间可以信息互通,而且还可以提高用户的体验。
可选的或进一步的,所述操作系统包括应用程序框架,所述应用程序框架包括显示系统(view system)和屏幕数据共享单元,其中,运行在移动终端的操作系统,通过第一应用程序接口,获取第一应用的当前显示界面上的控件集合,包括:
运行在所述移动终端的操作系统,通过所述显示系统,输出所述第一应用的当前显示界面;
所述显示系统,通过所述第一应用程序接口,将所述第一应用的当前显示界面上的所述控件集合传递给所述屏幕数据共享单元。
其中,所述控件集合可以包括一个控件、或两个控件,当然也可以包括三个或更多控件。
可选的或进一步的,所述运行在移动终端的操作系统,根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据,具体包括:
所述运行在移动终端的操作系统,根据所述第一应用名称、当前显示界面的页面名称、控件类型和控件标识,通过有效控件配置表确定所述第一应用当前显示界面上的有效控件;
所述运行在移动终端的操作系统,根据每个有效控件的数据,获取所述当前显示界面上的显示数据。
可选的或进一步的,所述运行在移动终端的操作系统,根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据,具体包括:
所述运行在移动终端的操作系统,根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件;所述有效控件为携带满足第一预设条件的数据的控件;所述数据属性包括所述控件中的文本长度、所述控件中的图片占当前界面的大小、所述控件中的动画占当前界面的大小中的至少一个;
所述运行在移动终端的操作系统,根据每个有效控件的数据,获取所述显示数据。
可选的或进一步的,所述运行在移动终端的操作系统,根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件,包括:
若所述控件的数据属性为所述控件中的文本长度,且所述控件中的文本长度大于预设的第一阈值,则所述运行在移动终端的操作系统确定所述控件为有效控件;
或者,
若所述控件的数据属性为所述控件中的图片占当前界面的大小,且所述控件中的图片占当前界面的大小大于预设的第二阈值,则所述运行在移动终端的操作系统确定所述控件为有效控件;
或者,
若所述控件的数据属性为所述控件中的动画占当前界面的大小,且所述控件中的动画占当前界面的大小大于预设的第三阈值,则所述运行在移动终端的操作系统确定所述控件为有效控件;
其中,所述第一预设条件包括所述控件中数据的文本长度大于所述第一阈值、所述控件中的图片占当前界面的大小大于所述第二阈值、所述控件中的动画占当前界面的大小大于所述第三阈值中的任一个。
可选的或进一步的,所述运行在移动终端的操作系统,根据每个有效控件的数据,获取所述当前显示界面上的显示数据,包括:
所述运行在移动终端的操作系统,根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制;
所述运行在移动终端的操作系统,根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的所有有效控件的数据进行整合,并将整合后的数据确定为所述显示数据。
可选的或进一步的,所述运行在移动终端的操作系统判断所述第一应用的当前显示界面是否为预设的白名单中的数据分享页面,包括:
所述运行在移动终端的操作系统确定所述第一应用的标识和所述第一应用的当前显示界面的页面标识;
所述运行在移动终端的操作系统判断所述第一应用的标识是否与所述白名单中的应用的标识匹配;
若所述第一应用的标识与所述白名单中的应用的标识匹配,则所述运行在移动终端的操作系统判断所述第一应用的当前显示界面的页面标识是否与所述白名单中所述应用的页面标识匹配;
若匹配,则所述运行在移动终端的操作系统确定当前显示界面为预设的白名单中的数据分享页面。
可选的或进一步的,所述运行在移动终端的操作系统,通过第二应用程序接口,将所述显示数据共享给第二应用,包括:
所述运行在移动终端的操作系统,通过应用数据分享配置表查询获得所述第二应用,所述应用数据分享配置表预设有所述第二应用与所述第一应用的数据订阅关系;
所述运行在移动终端的操作系统,调用所述第二应用程序接口,将所述显示数据传递给所述第二应用。
其中,应用数据分享配置表可以包括应用名称、界面的名称、控件类型、控件ID中的一个或多个。
可以理解的是,所述应用数据分享配置表与所述白名单可以为一个表,当然可以分开,即所述应用数据分享配置表为一个表,所述白名单为另一个表。
可选的或进一步的,所述运行在移动终端的操作系统,通过第二应用程序接口,将所述显示数据共享给第二应用,包括:
所述运行在移动终端的操作系统,通过所述第二应用程序接口,接收所述第二应用的调用请求;
所述运行在移动终端的操作系统将所述显示数据作为所述调用请求的返回数据传递给所述第二应用。
可选的或进一步的,所述方法还包括:
所述运行在移动终端的操作系统将所述显示数据进行缓存;
若所述第一应用退出或者关闭,所述运行在移动终端的操作系统将所缓存的显示数据删除。
其中,所述显示数据为JSON格式的数据,且所述显示数据携带所述第一应用的标识和/或所述第一应用的类型。
可以理解的是,上述一种应用间数据的共享方法的执行主体为运行在移动终端的操作系统,具体的,一种应用间数据的共享方法的执行主体可以为运行在移动终端的操作系统的应用程序框架的屏幕数据共享单元。所述的屏幕数据共享单元提供面向第一应用的第一应用程序接口和面向第二应用的第二应用程序接口。
本发明还提供了一种移动终端的实施例。所述移动终端包括存储器和处理器,所述存储器存储所述移动终端运行的操作系统指令代码,所述处理器运行所述存储器中的操作系统的指令代码,用于:
通过第一应用程序接口,获取第一应用的当前显示界面上的控件集合,所述控件集合为所述当前显示界面的界面元素;
判断所述第一应用的当前显示界面是否为预设的白名单中的数据分享页面;
若是,根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据;
通过第二应用程序接口,将所述显示数据共享给第二应用。
可选的或进一步的,所述操作系统包括应用程序框架,所述应用程序框架包括显示系统(view system)和屏幕数据共享单元,其中,所述处理器运行所述存储器中的操作系统的指令代码,用于:通过第一应用程序接口,获取第一应用的当前显示界面上的控件集合,包括:
所述处理器,通过所述显示系统,输出所述第一应用的当前显示界面;
所述显示系统,通过所述第一应用程序接口,将所述第一应用的当前显示界面上的所述控件集合传递给所述屏幕数据共享单元。
可选的或进一步的,所述处理器根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据,具体包括:
所述处理器,根据所述第一应用名称、当前显示界面的页面名称、控件类型和控件标识,通过有效控件配置表确定所述第一应用当前显示界面上的有效控件;
所述处理器,根据每个有效控件的数据,获取所述当前显示界面上的显示数据。
可选的或进一步的,所述处理器用于根据所述第一应用的当前显示界面上的所述控件集合,获取所述第一应用在所述当前显示界面上的显示数据,具体包括:
所述处理器用于根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件;所述有效控件为携带满足第一预设条件的数据的控件;所述数据属性包括所述控件中的文本长度、所述控件中的图片占当前界面的大小、所述控件中的动画占当前界面的大小中的至少一个;
所述处理器根据每个所述有效控件的数据,获取所述显示数据。
可选的或进一步的,所述处理器用于根据所述第一应用当前显示界面上每个控件的数据属性,确定所述第一应用当前显示界面上的有效控件,包括:
若所述控件的数据属性为所述控件中的文本长度,且所述控件中的文本长度大于预设的第一阈值,则所述处理器确定所述控件为有效控件;
或者,
若所述控件的数据属性为所述控件中的图片占当前界面的大小,且所述控件中的图片占当前界面的大小大于预设的第二阈值,则所述处理器确定所述控件为有效控件;
或者,
若所述控件的数据属性为所述控件中的动画占当前界面的大小,且所述控件中的动画占当前界面的大小大于预设的第三阈值,则所述处理器确定所述控件为有效控件;
其中,所述第一预设条件包括所述控件中数据的文本长度大于所述第一阈值、所述控件中的图片占当前界面的大小大于所述第二阈值、所述控件中的动画占当前界面的大小大于所述第三阈值中的任一个。
可选的或进一步的,所述处理器,根据每个有效控件的数据,获取所述当前显示界面上的显示数据,包括:
所述处理器,根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制;
所述处理器,根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的所有有效控件的数据进行整合,并将整合后的数据确定为所述显示数据。
可选的或进一步的,所述处理器判断所述第一应用的当前显示界面是否为预设的白名单中的数据分享页面,包括:
所述处理器确定所述第一应用的标识和所述第一应用的当前显示界面的页面标识;
所述处理器判断所述第一应用的标识是否与所述白名单中的应用的标识匹配;
若所述第一应用的标识与所述白名单中的应用的标识匹配,则所述处理器判断所述第一应用的当前显示界面的页面标识是否与所述白名单中所述应用的页面标识匹配;
若匹配,则所述处理器确定当前显示界面为预设的白名单中的数据分享页面。
可选的或进一步的,所述处理器,通过第二应用程序接口,将所述显示数据共享给第二应用,包括:
所述处理器,通过应用数据分享配置表查询获得所述第二应用,所述应用数据分享配置表预设有所述第二应用与所述第一应用的数据订阅关系;
所述处理器,调用所述第二应用程序接口,将所述显示数据传递给所述第二应用。
可选的或进一步的,所述处理器,通过第二应用程序接口,将所述显示数据共享给第二应用,包括:
所述处理器,通过所述第二应用程序接口,接收所述第二应用的调用请求;
所述处理器将所述显示数据作为所述调用请求的返回数据传递给所述第二应用。
可选的或进一步的,所述处理器还用于:
将所述显示数据进行缓存;
若所述第一应用退出或者关闭,将所缓存的显示数据删除。
可选的或进一步的,所述显示数据为JSON格式的数据,且所述显示数据携带所述第一应用的标识和/或所述第一应用的类型。
其中,该移动终端可以为手机、平板、穿戴式设备等,本发明实施例对此并不限制。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种应用数据的共享方法,其特征在于,包括:
显示第一应用在当前显示界面上的控件,其中,所述第一应用为聊天类应用,所述当前显示界面为聊天界面;
响应于用户的触发,基于所述当前显示界面上的多个控件中确定有效控件,所述有效控件为所述聊天界面中的文本内容;
根据所述当前显示界面上的有效控件,通过第一应用程序接口获取所述第一应用在当前显示界面上的显示数据;
若所述显示数据包括行程信息,将所述显示数据通过第二应用程序接口共享给第二应用,其中,所述第二应用为地图应用;
在获取所述第一应用在当前显示界面上的显示数据之后,所述方法还包括:
根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制;
根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的有效控件的数据进行整合,并将整合后的数据确定为所述显示数据。
2.根据权利要求1所述的方法,其特征在于,所述控件为文本控件,所述控件的数据属性为所述控件中的文本长度,所述控件中的文本长度大于预设的第一阈值,确定所述控件为有效控件。
3.根据权利要求2所述的方法,其特征在于,所述文本控件的文本内容为JSON格式的数据。
4.根据权利要求1-3任一所述的方法,其特征在于,所述方法适用于安卓操作系统,所述安卓操作系统包括集成数据共享单元的应用框架层,
所述数据共享单元根据所述第一应用的当前显示界面上的有效控件,通过所述第一应用程序接口获取所述第一应用在当前显示界面上的显示数据;
所述数据共享单元通过所述第二应用程序接口将所述显示数据共享给所述第二应用。
5.根据权利要求1所述的方法,其特征在于,所述的方法还包括:
确定当前显示的第一应用为预设的白名单中的应用。
6.根据权利要求1所述的方法,其特征在于,所述基于所述当前显示界面上的多个控件确定有效控件,包括:
获取所述第一应用的当前显示界面上的控件树;
确定满足第一预设条件的控件为有效控件。
7.一种终端设备,其特征在于,所述终端设备包括处理器和显示设备,其中
所述显示设备,显示第一应用在当前显示界面上的控件,其中,所述第一应用为聊天类应用,所述当前显示界面为聊天界面;
所述处理器,响应于用户的触发,基于所述当前显示界面上的多个控件中确定有效控件,所述有效控件为所述聊天界面中的文本内容;
根据所述当前显示界面上的有效控件通过第一应用程序接口获取所述第一应用在当前显示界面上的显示数据;
若所述显示数据包括行程信息,将所述显示数据通过第二应用程序接口共享给第二应用,其中,所述第二应用为地图应用;
所述处理器在获取所述第一应用在当前显示界面上的显示数据之后,还用于
根据所述第二应用的类型或者所述第二应用在操作系统上的注册信息,确定所述第二应用的数据整合机制;其中,所述第二应用的注册信息携带所述第二应用的数据整合机制;
根据所述第二应用的数据整合机制,对所述第一应用当前显示界面上的有效控件的数据进行整合,并将整合后的数据确定为所述显示数据。
8.根据权利要求7所述的终端设备,其特征在于,所述控件为文本控件,所述控件的数据属性为所述控件中的文本长度,所述控件中的文本长度大于预设的第一阈值,确定所述控件为有效控件。
9.根据权利要求8所述的终端设备,其特征在于,所述文本控件的文本内容为JSON格式的数据。
10.根据权利要求7-9任一所述的终端设备,其特征在于,所述终端设备适用于安卓操作系统,所述安卓操作系统包括集成数据共享单元的应用框架层,
所述数据共享单元根据所述第一应用的当前显示界面上的有效控件,通过所述第一应用程序接口获取所述第一应用在当前显示界面上的显示数据;
所述数据共享单元通过所述第二应用程序接口将所述显示数据共享给所述第二应用。
11.根据权利要求7所述的终端设备,其特征在于,所述处理器,用于
确定当前显示的第一应用为预设的白名单中的应用。
12.根据权利要求7所述的终端设备,其特征在于,所述基于所述当前显示界面上的多个控件确定有效控件,包括:
获取所述第一应用的当前显示界面上的控件树;
确定满足第一预设条件的控件为有效控件。
CN201680087271.2A 2016-08-19 2016-10-29 应用数据的共享方法、装置和终端设备 Active CN109416652B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2016/096100 2016-08-19
PCT/CN2016/096100 WO2018032516A1 (zh) 2016-08-19 2016-08-19 应用数据的共享方法、装置和终端设备
PCT/CN2016/103883 WO2018032612A1 (zh) 2016-08-19 2016-10-29 应用数据的共享方法、装置和终端设备

Publications (2)

Publication Number Publication Date
CN109416652A CN109416652A (zh) 2019-03-01
CN109416652B true CN109416652B (zh) 2022-10-04

Family

ID=61196268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680087271.2A Active CN109416652B (zh) 2016-08-19 2016-10-29 应用数据的共享方法、装置和终端设备

Country Status (2)

Country Link
CN (1) CN109416652B (zh)
WO (2) WO2018032516A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108415786B (zh) * 2018-03-13 2022-05-31 联想(北京)有限公司 信息处理方法及装置、电子设备和计算机可读介质
CN109413647B (zh) * 2018-10-18 2022-08-05 深圳壹账通智能科技有限公司 数据共享方法、装置、电子设备以及计算机可读存储介质
CN109813955B (zh) * 2019-02-25 2022-11-04 北京元点未来科技有限公司 充电电压异常提示方法、系统、穿戴式设备及存储介质
US11768925B2 (en) * 2019-08-19 2023-09-26 Google Llc Smart device management resource picker
CN111159738B (zh) * 2019-12-26 2023-05-23 维沃移动通信有限公司 权限配置方法、应用登录方法及装置
CN114679511A (zh) * 2020-12-24 2022-06-28 荣耀终端有限公司 操作控制方法、装置和电子设备
CN113888104B (zh) * 2021-06-21 2024-03-01 北京字跳网络技术有限公司 一种日程分享方法、装置及设备
CN113885764A (zh) * 2021-08-20 2022-01-04 阿里巴巴新加坡控股有限公司 数据处理方法及计算机程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101072197A (zh) * 2007-03-30 2007-11-14 腾讯科技(深圳)有限公司 一种整合多个服务商提供的电子邮箱的方法及系统
CA2763764A1 (en) * 2011-06-03 2012-03-19 Target Brands, Inc. Gift registry graphical user interface
CA2902105A1 (en) * 2014-08-28 2016-02-28 Radicalogic Technologies, Inc. Dba Rl Solutions System and method for health care data integration

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4208085B2 (ja) * 2005-08-30 2009-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションプログラムの制御方法およびその装置
US7962444B2 (en) * 2008-05-19 2011-06-14 Qualcomm Incorporated System and method for presenting a contextual action for an indicator
CN101923432A (zh) * 2010-06-10 2010-12-22 北京捷通华声语音技术有限公司 一种移动终端中应用程序的调用方法及装置
CN103324540B (zh) * 2012-03-21 2016-06-29 宏碁股份有限公司 电子系统与无缝分享方法
US9170714B2 (en) * 2012-10-31 2015-10-27 Google Technology Holdings LLC Mixed type text extraction and distribution
KR20140116682A (ko) * 2013-03-25 2014-10-06 (주)아펙스씨앤에스 컨텐츠 공유 방법
KR102187569B1 (ko) * 2013-07-08 2020-12-07 엘지전자 주식회사 이동 단말기 및 그것의 제어방법
US9514477B2 (en) * 2013-07-10 2016-12-06 AVG Netherlands B.V. Systems and methods for providing user-specific content on an electronic device
US10140118B2 (en) * 2014-03-19 2018-11-27 Huawei Device (Dongguan) Co., Ltd. Application data synchronization method and apparatus
CN105278970A (zh) * 2014-06-16 2016-01-27 中兴通讯股份有限公司 一种数据处理方法、装置和终端
CN104933028A (zh) * 2015-06-23 2015-09-23 百度在线网络技术(北京)有限公司 信息推送方法和装置
CN105159788B (zh) * 2015-09-11 2020-10-27 Tcl科技集团股份有限公司 一种Android应用间动态共享资源的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101072197A (zh) * 2007-03-30 2007-11-14 腾讯科技(深圳)有限公司 一种整合多个服务商提供的电子邮箱的方法及系统
CA2763764A1 (en) * 2011-06-03 2012-03-19 Target Brands, Inc. Gift registry graphical user interface
CA2902105A1 (en) * 2014-08-28 2016-02-28 Radicalogic Technologies, Inc. Dba Rl Solutions System and method for health care data integration

Also Published As

Publication number Publication date
WO2018032612A1 (zh) 2018-02-22
WO2018032516A1 (zh) 2018-02-22
CN109416652A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
CN109416652B (zh) 应用数据的共享方法、装置和终端设备
CN106851010B (zh) 一种目标应用的干扰处理方法及终端
CN106453053B (zh) 群组消息显示方法及装置
US11798107B2 (en) Scenario-based application recommendation method and apparatus
KR102182917B1 (ko) 그래픽 코드 디스플레이 방법 및 장치
CN104618217B (zh) 分享资源的方法、终端、服务器及系统
KR102150514B1 (ko) 디바이스 및 그를 이용한 컨텐츠 공유 방법
CN105787776A (zh) 信息处理方法及装置
US20180121040A1 (en) Method and device for managing notification messages
CN104965843B (zh) 一种获取评论信息的方法及装置
CN109542287B (zh) 消息提醒方法、装置、移动终端及存储介质
CN109844706B (zh) 一种消息的处理方法及装置
CN108156508B (zh) 弹幕信息处理的方法、装置、移动终端、服务器及系统
CN103155529B (zh) 用于显示事件通知的方法和装置
CN112041791B (zh) 一种显示输入法虚拟键盘的方法及终端
CN115454286B (zh) 应用数据的处理方法、装置和终端设备
CN106303070B (zh) 一种通知消息的提示方法、装置及移动终端
CN114756781A (zh) 一种显示收藏对象的方法和终端
WO2018120905A1 (zh) 终端中消息提示的方法和终端
US9503410B2 (en) Sharing of activity metadata via messaging systems
CN104901864A (zh) 用于信息交互的系统及方法
KR20110094630A (ko) 이동 단말기 및 이것의 통신 서비스 제어 방법
WO2021057224A1 (zh) 消息提示方法及终端设备
CN111512286A (zh) 编排程序的方法及电子设备
CN106303605B (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
TA01 Transfer of patent application right

Effective date of registration: 20210425

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Applicant after: Honor Device Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant