CN116049118A - 一种文件分享方法和电子设备 - Google Patents
一种文件分享方法和电子设备 Download PDFInfo
- Publication number
- CN116049118A CN116049118A CN202210682562.3A CN202210682562A CN116049118A CN 116049118 A CN116049118 A CN 116049118A CN 202210682562 A CN202210682562 A CN 202210682562A CN 116049118 A CN116049118 A CN 116049118A
- Authority
- CN
- China
- Prior art keywords
- application
- uri
- file
- application program
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000013475 authorization Methods 0.000 claims description 92
- 230000015654 memory Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 27
- 238000013461 design Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 21
- 230000000694 effects Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 241000736772 Uria Species 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- OTMSDBZUPAUEDD-UHFFFAOYSA-N Ethane Chemical compound CC OTMSDBZUPAUEDD-UHFFFAOYSA-N 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000003197 gene knockdown Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种文件分享方法和电子设备,涉及电子设备领域,能够解决分身应用无法正常进行文件分享的问题。具体方案为:接收用户的第一操作,第一操作用于指示第一电子设备将第一文件通过第三应用程序发送给第二电子设备,第一文件是第一应用程序的文件。第一应用程序生成与第一文件对应的第一uri。第一应用程序将第一uri发送给第三应用程序。第三应用程序接收第一uri。在第一操作系统根据第二应用程序的第一应用信息,确定第三应用程序具有解析第一uri的权限时,第一操作系统将第一文件信息发送给第三应用程序,第一文件信息与第一文件对应。第三应用程序根据第一文件信息,将第一文件发送给第二电子设备。
Description
本申请要求于2022年5月27日提交国家知识产权局、申请号为202210586492.1、发明名称为“一种文件分享方法和电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及电子设备领域,尤其涉及一种文件分享方法和电子设备。
背景技术
目前,电子设备中的具有通信功能的应用程序可以与其他设备进行文件的分享。其中,该具有通信功能的应用程序可以为其他具有通信功能的应用程序(如主应用)的分身应用。
在一些场景下,通过分身应用进行的文件分享无法成功实施。比如,在待分享文件来自电子设备中的应用程序(如应用1)时,分身应用会由于无法成功解析应用1发送的待分享文件对应的统一资源标识符(Uniform Resource Identifier,uri),导致无法获取待分享文件,进而分享失败。
发明内容
本申请实施例提供一种文件分享方法和电子设备,能够避免分身应用无法正常进行文件分享的情况。
为了达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种文件分享方法,该方法应用于第一电子设备,该第一电子设备中运行有第一操作系统,该第一操作系统中包括第一应用程序,第二应用程序,以及第三应用程序,该第三应用程序是该第二应用程序的分身应用,该方法包括:接收用户的第一操作,该第一操作用于指示该第一电子设备将第一文件通过该第三应用程序发送给第二电子设备,该第一文件是该第一应用程序的文件。响应于该第一操作,该第一应用程序生成与该第一文件对应的第一统一资源标识符uri。该第一应用程序将该第一uri发送给该第三应用程序。该第三应用程序接收该第一uri。在该第一操作系统根据该第二应用程序的第一应用信息,确定该第三应用程序具有解析该第一uri的权限时,该第一操作系统将第一文件信息发送给该第三应用程序,该第一文件信息与该第一文件对应。该第三应用程序根据该第一文件信息,将该第一文件发送给该第二电子设备。
在电子设备的应用之间传输文件时,可以通过uri实现传输。基于本方案,在使用三方应用(如第一应用程序)通过三方应用分享文件时,即使分身应用无法解析文件对应的uri,电子设备也可以在确定主应用能够解析uri时,认为分身应用具有解析uri的权限,从而使得分身应用能够顺利获取uri对应的信息,即获取待分享的文件。由此,即可避免分身应用无法进行文件分享的情况发生,使得用户对文件分享的操作更加便捷。
在一种可能的设计中,在该第一应用程序将该第一uri发送给该第三应用程序之前,该方法还包括:该第一应用程序通过该第一操作系统对该第一uri进行授权。这样,通过对uri授权,接收到uri的应用程序需要进行鉴权才能读取对应的数据,由此能够提升数据传输的安全性。
在一种可能的设计中,该第一应用程序通过该第一操作系统对该第一uri进行授权,包括:该第一应用程序向该第一操作系统发送第一授权请求,该第一授权请求包括该第一uri和第一标识,该第一标识是该第三应用程序的标识,该第一授权请求用于指示该第一操作系统对该第三应用程序授予解析该第一uri的权限。响应于该第一授权请求,该第一操作系统获取该第三应用程序的第一授权信息,根据该第一授权信息对该第一uri进行授权。该方案提供了一种具体的对uri授权的方案实现。
在一种可能的设计中,该第一授权信息包括该第一应用信息。这样,第一操作系统可以通过第一应用信息对第一uri进行授权。由于第三应用程序为第二应用程序的分身应用,目前,由于操作系统的底层机制,使得授权的对象一般为主应用,即对第一应用信息对应的应用程序进行解析授权。
在一种可能的设计中,该第一操作系统根据该第一授权信息对该第一uri进行授权,包括:该第一操作系在该电子设备的存储器中存储该第一授权信息与该第一uri的对应关系。这样,通过对应表的形式存储授权关系,以便于后续鉴权过程中通过查表即可确定是否具有对对应uri的解析权限。
在一种可能的设计中,在该第三应用程序接收该第一uri之后,该方法还包括:该第三应用程序通过该第一操作系统对该第一uri进行鉴权,确定该第三应用程序是否具有解析该第一uri的权限。这样,通过鉴权,即可使得鉴权通过的应用程序具有解析uri的权限,从而保证了数据在不同应用之间传输过程中的安全性。
在一种可能的设计中,该第三应用程序通过该第一操作系统对该第一uri进行鉴权,包括:该第三应用程序向该第一操作系统发送第一鉴权请求,该第一鉴权请求包括该第一uri和第一标识,该第一标识是该第三应用程序的标识。响应于该第一鉴权请求,该第一操作系统确定该第一标识对应的第二应用信息,该第二应用信息与该第三应用程序对应。该第一操作系统根据该第二应用信息,对该第一uri进行鉴权,以确定该第三应用程序是否具有解析该第一uri的权限。通过操作系统执行鉴权过程是一种较为合理的方案。由于操作系统能够知晓各个应用程序的应用信息,因此,通过发起鉴权请求,即可使得操作系统获取对应的应用信息执行鉴权过程。
在一种可能的设计中,该方法还包括:该第一操作系统根据该第二应用信息,以及该电子设备的存储器中存储的至少一个uri与应用信息的对应关系,确定该第二应用信息对应的应用程序不具有解析该第一uri的权限。基于授权过程中,存储在的授权关系,操作系统可以在鉴权过程中根据应用信息查询对应的授权关系,确定该应用信息的应用是否具有解析uri的权限。需要说明的是,在鉴权过程中,操作系统可以获取分身应用自身的应用信息进行鉴权。那么,由于授权过程中,对uri授予解析权限的应用信息是主应用的应用信息,因此通过分身应用的应用信息的鉴权结果可以为鉴权失败。在本申请中,鉴权失败之后,还可以通过后续流程,再次进行鉴权,最终确定第三应用程序是否具有解析第一uri的权限。
在一种可能的设计中,该方法还包括:该第一操作系统确定该第三应用程序为分身应用。该第一操作系统获取该第三应用程序对应的第二应用程序的第一应用信息。该第一操作系统生成第二鉴权请求,该第二鉴权请求包括该第一应用信息以及该第一uri,该第二鉴权请求用于确定该第一应用信息对应的应用程序是否具有解析该第一uri的权限。该第一操作系统根据该第一应用信息,以及该电子设备的存储器中存储的至少一个uri与应用信息的对应关系,确定该第一应用信息对应的应用程序具有解析该第一uri的权限。这样,在根据分身应用的应用信息鉴权失败后,第一操作系统可以再次根据对应的主应用的应用信息发起鉴权。在鉴权成功时,则认为分身应用具有解析第一uri的权限。从而避免授权过程使用主应用的应用信息导致的分身应用无法通过鉴权的问题。
在一种可能的设计中,该方法还包括:该第一操作系统确定该第三操作系统具有解析该第一uri的权限。
在一种可能的设计中,该第一文件信息包括该第一文件的数据信息。该第一操作系统将第一文件信息发送给该第三应用程序,包括:该第一操作系统从该第一uri指示的存储地址获取该第一文件的数据信息,将该第一文件的数据信息发送给该第三应用程序。该方案提供了一种鉴权成功后分身应用获取第一文件的机制。比如,操作系统可以直接读取数据信息发送给分身应用进行分享。
在一种可能的设计中,该第一文件信息包括该第一文件的存储地址。该第一操作系统将第一文件信息发送给该第三应用程序,包括:该第一操作系统根据该第一uri,获取该第一文件在该电子设备的存储器中的存储地址,将该第一文件的存储地址发送给该第三应用程序。该第三应用程序将该第一文件发送给该第二电子设备,包括:该第三应用程序从该第一文件的存储地址读取该第一文件的数据信息,并将该第一文件的数据信息发送给该第二电子设备。这样,操作系统可以将存储第一文件的地址发送给分身应用,以便于分身应用从该地址获取第一文件进行分享。
在一种可能的设计中,该第一标识为该第三应用程序的appID。
在一种可能的设计中,该第一应用信息是该第二应用程序的userID。
在一种可能的设计中,该第二应用信息是该第三应用程序的userID。
第二方面,提供一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器;一个或多个存储器与一个或多个处理器耦合,一个或多个存储器存储有计算机指令;当一个或多个处理器执行计算机指令时,使得电子设备执行如上述第一方面及其任一种可能的设计中所述的文件分享方法。
第三方面,提供一种芯片系统,芯片系统包括接口电路和处理器;接口电路和处理器通过线路互联;接口电路用于从存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行计算机指令时,该芯片系统执行如上述第一方面及其任一种可能的设计中所述的文件分享方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机指令,当计算机指令运行时,执行如上述第一方面及其任一种可能的设计中所述的文件分享方法。
第五方面,提供一种计算机程序产品,计算机程序产品中包括指令,当计算机程序产品在计算机上运行时,使得计算机可以根据指令执行如上述第一方面及其任一种可能的设计中所述的文件分享方法。
应当理解的是,上述第二方面至第五方面提供的技术方案,其技术特征均可对应到第一方面及其可能的设计中提供的文件分享方法,因此能够达到的有益效果类似,此处不再赘述。
附图说明
图1为一种即时通信应用的示意图;
图2为一种通过即时通信应用分享文件的示意图;
图3为一种通过即时通信应用分享文件的交互示意图;
图4为一种分身应用的设置示意图;
图5为一种分身应用的使用示意图;
图6为一种通过分身应用分享文件的示意图;
图7为本申请实施例提供的一种电子设备的软件组成示意图;
图8为本申请实施例提供的一种授权交互示意图;
图9为本申请实施例提供的一种鉴权交互示意图;
图10为本申请实施例提供的一种鉴权交互示意图;
图11为本申请实施例提供的一种文件分享方法的模块交互示意图;
图12为本申请实施例提供的一种电子设备的组成示意图;
图13为本申请实施例提供的一种芯片系统的组成示意图。
具体实施方式
电子设备中可以安装有各类应用程序(Application,APP),以便通过运行应用程序向用户提供各项功能。
示例性的,以电子设备为手机,应用程序为即时通信APP为例。结合图1。手机可以在界面上显示即时通信APP的图标101。在用户需要使用该即时通信APP时,可以点击图标101。响应于该点击图标101的操作,手机可以运行即时通信APP,并在界面上显示对应的聊天信息。比如,如图1所示,手机可以在界面102上显示即时通信APP中,与其他好友的聊天情况。
通过手机中安装的即时通信APP,还可以实现文件的分享。示例性的,以分享应用1中的图片为例。结合图2,用户可以在手机界面上点击图标201,该图标201可以为应用1的图标。响应于该点击图标201的操作,手机可以运行应用1,并显示应用1对应的界面202。本示例中,应用1可以在界面202上向用户提供图片预览等功能。如图2所示的,在界面202上可以显示有图片1-图片12的预览图像,以实现图片预览功能。
在用户想要分享该界面202中的某个图片时,可以输入相应的操作。例如,以分享图片5为例。用户可以点击或长按图片5的浏览区域,以指示手机执行对图片5的分享。对应的,手机可以显示提示窗203。在该提示窗203中,可以向用户展示能够用于分享图片的应用程序,如即时通信APP。用户可以点击提示窗203中的即时通信APP的图标204,指示手机通过该即时通信APP执行图片5的分享。
在图片分享的过程中,手机还可以向用户展示选取具体的分享联系人的界面。示例性的,手机可以显示界面205,在该界面205中可以包括一个或多个即时通信APP中的联系人对应卡片,以便用户通过点击对应的联系人卡片,实现向该联系人的文件分享。例如,用户可以在界面205中点击卡片206,以便指示手机向即时通信APP中的好友Ethan分享该图片5。
在完成上述操作后,图片5就可以通过即时通信APP分享给Ethan。对应的,在被分享图片的电子设备中(如Ethan的手机中),在该即时通信APP的聊天界面上就可以显示被分享的图片5。例如,以发起分享图片5的用户为Sam为例,在Ethan的手机中,该即时通信APP中与Sam的聊天界面208上就可以显示有Sam的手机发送的图片5。
作为一种示例,为了实现如图2所示的图片分享机制,在分享图片的手机(如上述Sam的手机)上,应用1可以与即时通信APP进行信息交互,以便将需要分享的图片5的信息由应用1传输给即时通信APP,进而使得即时通信APP可以将该图片5的信息发送给其他设备(如Sam的手机),由此实现图片5向其他设备的分享。示例性的,请参考图3,为一种文件分享方法的流程示意图。基于该图3所示的方案,就能够实现图片5的信息从应用1向即时通信APP的传输。其中,文件1可以对应到上述示例中的图片5。
如图3所示,应用1可以在需要文件1时,生成与该文件1对应的统一资源标识符(Uniform Resource Identifier,uri),即执行S301。本示例中,文件1对应的uri可以为uriA。该uriA可以用于指示对应文件1的相关信息。也就是说,只要接收到uriA并对该uriA进行正确的解析,即可获取该文件1。
在本示例中,为了保证数据传输的安全性,在向即时通信APP发送uriA之前,应用1可以根据即时通信APP的应用信息对uriA授权,即执行S302。其中,应用信息可以用于区分不同的应用程序。示例性的,该应用信息可以包括对应用程序的userID。例如,即时通信APP的userID可以为0。那么,应用1可以根据userID为0的应用信息对uriA进行授权。
接着,应用1可以将该uriA发送给即时通信APP。即时通信APP可以在接收到uriA后,确认是否具有解析该uriA的权限,即进行鉴权。如图3所示,即时通信APP可以执行S303,即根据当前应用的userID对uriA鉴权。在本示例中,当前应用可以为即时通信APP,其对应的userID可以为0。那么,在该鉴权过程中,由于授权使用的应用信息(如userID为0)与鉴权使用的应用信息(如userID为0)相同,因此鉴权通过。由此,即时通信APP就可以成功解析该uriA。即执行S304,鉴权成功后解析uri A获取对应的文件1。
这样,通过如图3所示的方案,就实现了文件1从应用1向即时通信APP的传输。例如,文件1可以为图片5。在另一些实施例中,也可以通过上述方案实现其他文件从应用1向即时通信APP的传输。对应的,在即时通信APP获取文件1后,就可以通过即时通信APP对应的应用服务器,将该文件1分享给其他设备。
需要说明的是,一般而言,一个应用程序同时只能支持一个用户的登录。例如,结合图1,当前登录即时通信APP的用户可以为Sam。在一些场景中,手机也可以为用户提供相同应用的多账号登录能力。示例性的,手机可以向用户提供应用分身功能。以对即时通信APP使用应用分身功能为例。
在一些实施例中,为了实现应用分身的设置,手机可以提供相应的操作界面供用户输入指示。作为一种示例,图4示出了一种设置分身应用的示例。在手机的设置菜单中,可以包括应用分身设置界面401。在该界面401中可以向用户展示能够分身的应用。比如,在该示例中,界面401中可以展示有能够分身的应用可以包括即时通信APP对应的卡片402。用户可以在界面401上点击该卡片402中的扩展按钮403,点击应用分身使能按钮404,指示手机开启对即时通信APP的分身处理。这样,就实现了对即时通信APP的应用分身。
在本示例中,对即时通信APP使用的应用分身功能后,手机可以为该即时通信APP创建新的具有相同功能的分身应用。例如,在使用应用分身之前,手机在界面上显示的即时通信APP可以称为主应用。该主应用对应的userID可以为0。在使用应用分身功能后,增加的即时通信APP的应用分身(如称为即时通信分身APP)可以为分身应用。该分身应用对应的userID可以与主应用不同,例如,该分身应用的userID可以为128。可以理解的是,由于主应用与分身应用的userID不同,因此主应用和分身应用虽然提供相同的功能,但是能够相对独立运行,互不干扰。因此,在主应用和分身应用上就可以登录不同的用户的账号。例如,在主应用上可以登录有账号A(如Sam),在分身应用上可以登录有账号B(如Luck)等。
为了使得用户能够顺利使用分身应用以及主应用,在创建分身应用之后,手机可以在界面上同时显示主应用的图标以及分身应用的图标。示例性的,参考图5,在对即时通信APP使用应用分身功能后,手机可以在界面上显示主应用对应的图标501。手机还可以在界面上显示分身应用对应的图标502。用户通过对该图标502进行操作,就可以使用分身应用。示例性的,如图5所示,用户可以对图标502输入点击操作,对应的,手机就可以运行分身应用,并向用户展示该分身应用的界面503。在本示例中,分身应用可以登录有不同于主应用的账号B。例如,界面503所示的当前登录信息可以显示有Luck已登录的提示。
这样,用户就可以通过同一个手机实现不同账号的登录。
类似于上述对主应用的使用说明,用户也可以通过该分身通信APP实现文件的分享。
示例性的,参考图6。以通过即时通信分身APP分享应用1中的图片5为例。用户打开应用1,长按图片5以便触发用于分享的提示窗的过程与图2所示的实现类似。作为一种示例,如图6所示,手机可以在提示窗601中显示图标602以及图标603。图标602可以用于指向主应用进行分享,图标603可以用于指向分身应用进行分享。那么,用户可以点击图标603,指示应用1将图片5通过分身应用进行分享。对应的,手机可以跳转显示界面604,该界面604中可以包括分身应用(也就是即时通信分身APP)登录账号中的好友信息。例如,在界面604中可以显示有账号“Luck”对应的通讯录信息,如好友Lee,好友Penny等。用户可以点击好友Penny对应的卡片605,指示手机通过分身应用向好友Penny发送该图片5。
然而,在一些情况下,通过分身应用进行的文件分享会出现一些问题。比如,无法顺利分享文件等。在一些实现中,在手机界面上就可以显示分享失败的提示框606,以便提示用户当前通过即时通信分身APP的文件分享失败。在另一些实现中,手机界面上还可能显示乱码等错误信息。那么对应的,由于文件分享失败,在Penny的手机上显示的与Luck进行的聊天界面607中就不会正确显示分享的文件(如图片5)。如,在界面607上可能显示有来自Luck的消息,但是内容为空。又如,在界面上可能完全不会显示来自Luck的消息等。
上述示例中,通过主应用进行的文件分享成功,但是通过分身应用进行的文件分享失败的情况,可以是由于文件分享过程中,分身应用无法成功获取需要分享的文件导致的。
应当理解的是,在通过分身应用进行文件分享时,文件首先会在应用1和分身应用之间进行传输。该传输过程可以参考如图3所示的应用1与主应用之间的传输机制。然而,在应用1对文件进行授权时,使用的文件信息依然可能是主应用的应用信息。例如,应用1在需要对文件授权时,可以从手机的操作系统获取该应用(如分身应用)的userID。由于分身应用所实现的功能与主应用相同,对于操作系统而言,提供给应用1的userID可能依然是主应用的userID,如userID为0。那么,应用1就可以使用该userID为0的应用信息对文件(如图片5)对应的uri A进行授权。对应的,分身应用可以接收应用1发送的经过授权的uri A。分身应用可以使用自身对应的userID进行鉴权。显然,分身应用的userID(如128)与授权的userID(如0)并不相同,因此鉴权失败,使得分身应用无法获取uri A对应的内容,也即无法获取待分享的文件(如图片5)。那么,分身应用对该图片5的分享也就会出现如图6所示的失败的情况。
在面对如图6所示的问题时,可以尝试修改授权机制,如直接使用分身应用的userID对uriA进行授权,由此使得分身应用可以使用自身的userID对uriA进行成功的解析。但是,如果采用该方案,至少会存在如下问题:
1、手机的操作系统中,向应用1等应用程序提供其他应用(如主应用/分身应用)的应用信息的机制为操作系统中较为底层的操作机制,如果修改该操作机制,可能会对其他应用的正常运行造成影响。
2、基于安全考虑,手机的操作系统可能无法直接将分身应用的应用信息发送给其他应用,因此也存在实施的困难。
基于此,为了解决上述问题,本申请实施例提供一种文件分享方法,在使用分身应用分享文件时,能够灵活调整鉴权机制,使得在主应用可以成功鉴权的情况下,向分身应用赋予鉴权成功的效果,从而使得分身应用能够成功鉴权待分享文件的uri,进而通过分身应用进行成功的文件分享。
以下结合附图对本申请提供的方案进行详细说明。
需要说明的是,本申请实施例提供的文件分享方法,可以应用在用户的电子设备中。基于该方案,能够使得电子设备中的第一应用程序可以通过第二应用程序向其他设备的文件分享。例如,第一应用程序可以为上述示例中的应用1。第二应用程序可以为上述示例中的分身应用,也就是即时通信分身APP。
比如,该电子设备可以是手机、平板电脑、个人数字助理(personal digitalassistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、媒体播放器等的便携式移动设备,该电子设备也可以是智能手表等可穿戴电子设备。本申请实施例对该设备的具体形态不作特殊限制。
在不同实现中,该电子设备可以具有不同的组成。示例性的,在一些实施例中,从硬件组成的角度。该电子设备可以包括处理器,外部存储器接口,内部存储器,通用串行总线(universal serial bus,USB)接口,充电管理模块,电源管理模块,电池,天线1,天线2,移动通信模块,无线通信模块,音频模块,传感器模块,按键,马达,指示器,摄像头,显示屏,以及用户标识模块(subscriber identification module,SIM)卡接口等。其中,传感器模块可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。在一些实施例中,该电子设备还可以包括扬声器,受话器,麦克风,耳机接口等器件用于实现电子设备的音频相关功能。
可以理解的是,上述示例并不构成对电子设备的具体限定。在另一些实施例中,电子设备可以包括更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。上述硬件组成中示出的部件可以以硬件,软件或软件和硬件的组合实现。
在另一些实施例中,从软件组成的角度,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。以电子设备运行有(Android)操作系统为例。如图7所示,电子设备的系统可以分为多层,从上至下分别为应用程序层(Application,简称为应用层或APP层),应用程序框架层(或称为Framework层,框架层),硬件层等。
其中,应用层可以包括一系列应用程序包。应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。在本申请实施例中,应用层中可以安装有应用1,该应用1可以向用户提供通过其他通信软件进行文件分享的能力。例如,应用1可以为等应用程序。在应用层中还可以安装有即时通信APP。例如,该即时通信APP可以为等。此外,基于前述关于应用分身的说明,通过应用分身的设置,在应用层中还可以包括即时通信分身APP,如对使用应用分身功能后获取的微信分身等。
结合前述说明,以应用1为即时通信APP为为例。在需要将其中的文件(如中的图片资源等)通过分享给其他设备时,可以基于如图3所示的授权鉴权方案将该文件发送给通过本申请实施例提供的方案,在需要使用微信分身进行文件分享时,也能够使得微信分身可以正确地对文件的uri进行解析获取该文件,进而使得通过微信分身分享文件的操作得以成功实现。后续将对本申请实施例提供的方案实现进行详细说明。
框架层为应用层的应用程序提供应用编程接口和编程框架。框架层包括一些预先定义的函数。框架层可以包括窗口管理器,内容提供器,视图系统,资源管理器,通知管理器,活动管理器,输入管理器等。窗口管理器提供窗口管理服务(Window Manager Service,WMS),WMS可以用于窗口管理、窗口动画管理、表面管理器(surface manager)以及作为输入系统的中转站。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。资源管理器为应用程序提供各种资源。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知。活动管理器可以提供活动管理服务(Activity Manager Service,AMS),AMS可以用于系统组件(例如活动、服务、内容提供者、广播接收器)的启动、切换、调度以及应用进程的管理和调度工作。输入管理器可以提供输入管理服务(Input Manager Service,IMS),IMS可以用于管理系统的输入,例如触摸屏输入、按键输入、传感器输入等。IMS从输入设备节点取出事件,通过和WMS的交互,将事件分配至合适的窗口。
在本申请实施例中,如图7所示,在框架层中可以设置有授权模块以及鉴权模块。授权模块可以用于支持应用1对待分享文件的uri的授权。鉴权模块可以用于支持即时通信APP对uri的鉴权。在不同实现中,授权模块和/或鉴权模块可以通过电子设备中运行的一个或多个服务实现其各自功能。其中,一个服务可以对应到一个进程,通过运行进程代码,即可实现该服务的能力。
作为一种实现,如图7所示,在框架层中可以运行有活动管理器对应的服务(如简称为活动管理器),uri授权服务,协助内容提供者(content provider)服务(如简称为协助内容提供者)。那么,授权模块的功能可以通过活动管理器以及uri授权服务实现,鉴权模块的功能可以通过uri授权服务以及协助内容提供者实现。
在本示例中,电子设备还可以设置有硬件层。例如,硬件层中可以包括各项用于实现电子设备功能的硬件部件。比如,该硬件层可以包括用于进行数据处理的中央处理器(Central Processing Unit,CPU),以及用于进行数据存储的内存等。又如,硬件层中还可以包括用于存储非易失性数据的闪存等。内存和闪存等提供存储功能的部件可以统称为存储器。
在本申请实施例中,电子设备还可以包括其他分层。示例性的,电子设备中可以设置有系统层。系统层可以包括多个功能模块。例如:表面管理器,媒体框架(MediaFramework),标准C库(Standard C library,libc),嵌入式系统的开放图形库(OpenGL forEmbedded Systems,OpenGL ES)、Vulkan、SQLite、Webkit等。
需要说明的是,上述硬件划分和/或软件划分并不构成对本申请实施例提供的方案的任何限定。在其他实施例中,电子设备还可以包括更多或更少的软/硬件部件。
以下示例中,将结合如图7所示的软件组成,对本申请实施例提供的方案进行详细说明。其中,以应用1通过即时通信分身APP分享文件1为例。
如图8所示,为本申请实施例提供的一种授权过程的实现交互示意。该如图8所示的方案可以是电子设备接收到用户的第一操作时触发的,其中,第一操作可以用于指示电子设备使用即时通信分身APP分享文件1的操作。如图8所示,该方案可以包括:
S801、应用1向活动管理器发送待分享文件信息以及即时通信分身APP的标识。
示例性的,该待分享文件信息可以为该文件对应的uri。例如,结合图3的示例,在待分享文件为文件1时,则该待分享文件信息可以为文件1对应的uri A。
需要说明的是,在本申请中,不同的应用程序可以具有不同的标识,如该标识可以为app ID。例如,即时通信APP的主应用的标识可以为appID 1,即时通信分身APP的标识可以为appID 2,应用1的标识可以为appID 3。appID 1、appID 2以及appID 3各不相同。不同的appID可以用于指示不同的应用程序。
在本示例中,即时通信分身APP的标识可以包括即时通信分身APP的appID,如appID 2。
那么,应用1可以将uri A以及appID 2发送给活动管理器,用于指示活动管理器根据appID 2对uri A进行授权操作。作为一种可能的实现,应用1可以通过context调用AMS.grantUriPermission()方法,指示活动管理器对uri A进行授权。
S802、活动管理器向uri授权服务发送应用信息1以及uri A。
其中,应用信息1可以是活动管理器根据即时通信分身APP的标识确定的。以应用信息1为userID为例。结合前述说明,活动管理器可以根据appID 2,确定对应的userID为主应用的userID,如确定userID为0。即,应用信息1为userID(0)。那么,活动管理器就可以将该uri A以及userID(0)发送给uri授权服务。
作为一种可能的实现,活动管理器可以通过调用grantUriPermissionUncheckedFromIntent()指示uri授权服务实现对uri A的基于userID(0)的授权。
S803、uri授权服务根据应用信息1对uriA进行授权。
示例性的,在本示例中,不同的uri及其授权情况可以对应关系的形式存储在存储器中。
在一些实施例中,在存储器中可以存储有授权信息表,该授权信息表中可以包括至少一个uri以及对应的应用信息1的对应关系。该对应关系可以用于指示uri以及对应的应用信息1的授权关系。例如,uri授权服务可以根据来自活动管理器的userID(0)对uri A进行授权,在该授权信息表中创建uri A与userID(0)的对应表项。该表项中可以存储有uriA的存储地址(或uri A的全量代码)与userID(0)的对应关系。
在另一些实施例中,上述授权信息表中的表项还可以通过指针的形式记录该授权关系。
这样,通过该S801-S803的过程,就实现了应用1对uri A的授权。在一些实施例中,执行S803之后,即uri授权服务将uri A以及userID(0)的对应关系存储到存储器之后,可以向应用1返回授权成功指示。
接着,应用1可以将uri发送给即时通信分身APP。即时通信分身APP可以对uri A进行鉴权,以便获取对应的待分享文件(如文件1)。
示例性的,请参考图9,为本申请实施例提供的鉴权方案的一种示例。通过该方案,即时通信分身APP可以在接收到uri A后,对该uri A进行鉴权。如图9所述,该方案可以包括:
S901、即时通信分身APP向协助内容提供者发送uri A以及即时通信分身APP的标识。
示例性的,uri A可以是接收到的来自应用1的uri。即时通信分身APP的标识可以为类似S801中所示的即时通信分身APP的appID,如appID 2。通过发送该uri A以及即时通信分身APP的标识,即时通信分身APP可以实现对uri A的鉴权。
作为一种可能的实现,即时通信分身APP可以通过Context.getContentResolve().query消息,并在该消息中携带appID 2以及uri A,实现发起该对uri A的鉴权。
S902、协助内容提供者向uri授权服务发送鉴权请求1,该鉴权请求1中携带有uriA以及即时通信分身APP对应的应用信息2。
示例性的,即时通信分身APP对应的应用信息2可以为即时通信分身APP对应的userID,如应用信息2可以为userID(128)。那么,协助内容提供者可以向uri授权服务发送userID(128)以及uri A,以便指示uri授权服务对uri A进行鉴权。
作为一种可能的实现,协助内容提供者可以向uri授权服务发送checkAuthorityGrants()消息作为鉴权请求1,在该消息中可以携带userID(128)以及uriA,以便于指示uri授权服务对uri A进行鉴权。
S903、uri授权服务根据鉴权请求1,以及授权信息表,确定鉴权失败。
结合图8的示例,在授权过程中,uri授权服务可以根据活动管理器发送的信息,在存储器中保存不同uri以及对应的应用信息的授权关系。
在本示例中,uri授权服务可以在接到userID(128)以及uri A后,在授权信息表查询uri A对应的应用信息。可以理解的是,当前授权信息表中,uri A对应的应用信息1为userID(0),因此,uri授权服务根据当前鉴权请求1进行的鉴权操作的返回结果为鉴权失败。
在本示例中,uri授权服务可以将鉴权结果反馈给协助内容提供者。
例如,如S904所示,uri授权服务可以将鉴权失败的鉴权结果发送给协助内容提供者。那么对应的,如果将该鉴权结果作为最终的鉴权结果,就会使得协助内容提供者确定当前应用(也就是即时通信分身APP)不具有解析uri A的权限,也就不会将uri A对应的文件1的相关信息发送给即时通信分身APP。这样,就出现了如图6所示的鉴权失败导致的文件分享失败的情况出现。
在本申请实施例中,在根据鉴权请求1确定鉴权失败后,协助内容提供者还可以执行后续操作,以便根据主应用的授权情况,最终确定当前应用(也就是即时通信分身APP)是否具有解析uri A的权限。
可以理解的是,的结合图8的示例,应用1指示的对uri A的授权过程在执行完成后,实际获得授权的应用信息为应用信息1(即userID(0))。也就是说,主应用获得了该uriA的解析权限。那么,在本示例中,协助内容提供者可以在根据分身应用的应用信息2确定鉴权失败时,判断主应用的应用信息1是否可以通过鉴权,进而更新分身应用的鉴权结果。
示例性的,请参考图10,在执行S904之后,该方案还可以包括:
S1001、协助内容提供者向uri授权服务发起基于主应用以及uriA的鉴权请求2。
示例性的,在该鉴权请求2中,可以包括主应用的应用信息1(如userID(0))。
在本示例中,由于协助内容提供者处于电子设备的操作系统中,属于系统级构件,因此协助内容提供者能够根据S901中接收到的即时通信分身APP的标识(如appID 2),知晓当前发起鉴权的即时通信分身APP为分身应用。
作为一种示例,协助内容提供者可以向活动管理器发送消息,以便查询即时通信分身APP是否为分身应用。例如,协助内容提供者可以向活动管理器发送checkAuthorityGrantsForClone消息。在该消息中可以携带有即时通信分身APP的标识(如appID 2)。对应的,活动管理器可以根据即时通信分身APP的标识,确定该即时通信分身APP为分身应用。那么,活动管理器可以向协助内容提供者反馈查询结果,如向协助内容提供者发送用于指示当前应用为分身应用的查询结果。由此,协助内容提供者就能够知晓当前即时通信分身APP为分身应用。
此外,协助内容提供者还能够确定该分身应用对应的主应用的应用信息。
作为一种示例,活动管理器还可以向协助内容提供者发送该主应用的应用信息。比如,活动管理器可以在反馈查询结果时,向协助内容提供者发送主应用的应用信息为应用信息1(如userID(0))。
在本示例中,协助内容提供者可以向uri授权服务再次鉴权请求2,该鉴权请求2可以携带有uri A以及主应用的应用信息1(如userID(0)),用于确定主应用是否具解析uri A的权限。
S1002、uri授权服务根据鉴权请求2,以及授权信息表,确定鉴权成功。
在本示例中,该S1002的执行过程与S903类似。
示例性的,uri授权服务可以在接到userID(0)以及uri A后,在授权信息表查询uri A对应的应用信息。可以理解的是,当前授权信息表中,uri A对应的应用信息为userID(0),因此,uri授权服务根据当前鉴权请求1进行的鉴权操作的返回结果为鉴权成功。
在本示例中,uri授权服务可以将鉴权结果反馈给协助内容提供者。例如,如S1003所示,uri授权服务可以将鉴权成功的鉴权结果发送给协助内容提供者。那么对应的,协助内容提供者可以将S904中的鉴权结果替换为该鉴权成功。这样,协助内容提供者就可以确定当前应用(也就是即时通信分身APP)具有解析uri A的权限。
对应的,协助内容提供者可以根据uri A指示的存储地址,读取文件1的数据信息,将该文件1的数据信息反馈给即时通信分身APP(如执行S1004)。当然,在另一些实施例中,协助内容提供者也可以在确定鉴权成功时,将uri A指示的存储地址发送给即时通信分身APP,以便于即时通信分身APP根据该存储地址获取文件1的数据信息。
由此,就使得即时通信分身APP能够成功地对待分享文件(如文件1)的uri A进行解析,获取文件1的数据信息。那么,即时通信分身APP就可以在向用户指示的好友发送该文件1的数据信息,进而是实现对该文件1的分享。
请参考图11,为本申请实施例提供的一种文件分享方法的流程示意图。其中,以通过即时通信分身APP分享文件1,文件1对应的uri为uri A为例。如图11所示,该方案可以包括:
S1101、应用1响应于用户的第一操作,生成uri A。
其中,第一操作可以用于指示电子设备使用即时通信分身APP分享文件1的操作。例如,第一操作可以对应到如图6所示的对卡片605的点击操作。响应于该第一操作,应用1可以生成与文件1对应的uri A。通过解析该uri A,即可获取文件1的数据文件。
S1102、应用1向活动管理器uri A以及appID 2。
示例性的,该步骤可以对应到如图8所示的S801,其具体实施可互相参考,此处不再赘述。例如,appID 2可以用于指示即时通信分身APP。
S1103、活动管理器根据appID 2确定userID(0)。
示例性的,活动管理器可以根据appID 2,获取主应用的应用信息1,如userID(0)。
S1104、活动管理器向uri授权服务发送userID(0)以及uri A。
示例性的,该步骤可以对应到如图8所示的S801,其具体实施可互相参考,此处不再赘述。其中,应用信息1可以包括userID(0)。
S1105、uri授权服务存储userID(0)与uriA的对应关系。
通过该S1101-S1105的过程即可实现应用1对uri A的授权。接着,应用1可以执行S1106。
S1106、应用1向即时通信分身APP发送uri A。
该uri A可以用于指示文件1。
在接收到该uri A后,即时通信分身APP可以执行S1107,发起鉴权流程。
S1107、即时通信分身APP向协助内容提供者发送uri A以及appID 2。
示例性的,appID 2可以为即时通信分身APP的标识。
S1108、协助内容提供者根据appID 2获取userID(128)。userID(128)可以为即时通信分身APP的应用信息。
示例性的,协助内容提供者可以自行根据appID确定对应的userID。在另一些实施例中,协助内容提供者也可以通过活动管理器根据appID 2确定userID(128)。
S1109、协助内容提供者向uri授权服务发送鉴权请求1。鉴权请求1用于指示根据userID(128)对uri A进行鉴权。
S1110、uri授权服务根据存储器中存储的uri和应用信息的关系(如上述授权信息表),确定鉴权请求1的鉴权失败。
S1111、uri授权服务向协助内容提供者反馈鉴权失败。
S1112、uri授权服务通过活动管理器确定即时通信分身APP为分身应用,并获取主应用的userID(0)。
S1113、协助内容提供者向uri授权服务发送鉴权请求2。鉴权请求2用于指示根据userID(0)对uri A进行鉴权。
S1114、uri授权服务根据存储器中存储的uri和应用信息的关系(如上述授权信息表),确定鉴权请求2的鉴权成功。
S1115、uri授权服务向协助内容提供者反馈鉴权成功。
S1116、协助内容提供者根据uri A获取文件1的数据信息。
S1117、协助内容提供者将文件1的数据信息发送给即时通信分身APP。
需要说明的是,上述S1107-S1117的执行过程可以分别对应到如图9以及图10的模块交互,具体实施可以互相参考,此处不再赘述。
由此,通过上述方案,使得应用1能够通过分身应用顺利进行文件1的分享。
上述主要从模块间交互的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,电子设备中的模块划分也可以不同。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对其中涉及的设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参考图12,为本申请实施例提供的又一种电子设备1200的组成示意图。如图12所示,该电子设备1200可以包括:处理器1201和存储器1202。该存储器1202用于存储计算机执行指令。示例性的,在一些实施例中,当该处理器1201执行该存储器1202存储的指令时,可以使得该电子设备1200执行上述实施例中涉及的电子设备的任一种所示的文件分享方法。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图13示出了的一种芯片系统1300的组成示意图。该芯片系统1300可以包括:处理器1301和通信接口1302,用于支持相关设备(如电子设备)实现上述实施例中所涉及的功能。在一种可能的设计中,芯片系统还包括存储器,用于保存电子设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。需要说明的是,在本申请的一些实现方式中,该通信接口1302也可称为接口电路。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在上述实施例中的功能或动作或操作或步骤等,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (18)
1.一种文件分享方法,其特征在于,所述方法应用于第一电子设备,所述第一电子设备中运行有第一操作系统,所述第一操作系统中包括第一应用程序,第二应用程序,以及第三应用程序,所述第三应用程序是所述第二应用程序的分身应用,所述方法包括:
接收用户的第一操作,所述第一操作用于指示所述第一电子设备将第一文件通过所述第三应用程序发送给第二电子设备,所述第一文件是所述第一应用程序的文件;
响应于所述第一操作,所述第一应用程序生成与所述第一文件对应的第一统一资源标识符uri;
所述第一应用程序将所述第一uri发送给所述第三应用程序;
所述第三应用程序接收所述第一uri;
在所述第一操作系统根据所述第二应用程序的第一应用信息,确定所述第三应用程序具有解析所述第一uri的权限时,所述第一操作系统将第一文件信息发送给所述第三应用程序,所述第一文件信息与所述第一文件对应;
所述第三应用程序根据所述第一文件信息,将所述第一文件发送给所述第二电子设备。
2.根据权利要求1所述的方法,其特征在于,在所述第一应用程序将所述第一uri发送给所述第三应用程序之前,所述方法还包括:
所述第一应用程序通过所述第一操作系统对所述第一uri进行授权。
3.根据权利要求2所述的方法,其特征在于,所述第一应用程序通过所述第一操作系统对所述第一uri进行授权,包括:
所述第一应用程序向所述第一操作系统发送第一授权请求,所述第一授权请求包括所述第一uri和第一标识,所述第一标识是所述第三应用程序的标识,所述第一授权请求用于指示所述第一操作系统对所述第三应用程序授予解析所述第一uri的权限;
响应于所述第一授权请求,所述第一操作系统获取所述第三应用程序的第一授权信息,根据所述第一授权信息对所述第一uri进行授权。
4.根据权利要求3所述的方法,其特征在于,所述第一授权信息包括所述第一应用信息。
5.根据权利要求3或4所述的方法,其特征在于,所述第一操作系统根据所述第一授权信息对所述第一uri进行授权,包括:
所述第一操作系在所述电子设备的存储器中存储所述第一授权信息与所述第一uri的对应关系。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在所述第三应用程序接收所述第一uri之后,所述方法还包括:
所述第三应用程序通过所述第一操作系统对所述第一uri进行鉴权,确定所述第三应用程序是否具有解析所述第一uri的权限。
7.根据权利要求6所述的方法,其特征在于,所述第三应用程序通过所述第一操作系统对所述第一uri进行鉴权,包括:
所述第三应用程序向所述第一操作系统发送第一鉴权请求,所述第一鉴权请求包括所述第一uri和第一标识,所述第一标识是所述第三应用程序的标识;
响应于所述第一鉴权请求,所述第一操作系统确定所述第一标识对应的第二应用信息,所述第二应用信息与所述第三应用程序对应;
所述第一操作系统根据所述第二应用信息,对所述第一uri进行鉴权,以确定所述第三应用程序是否具有解析所述第一uri的权限。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述第一操作系统根据所述第二应用信息,以及所述电子设备的存储器中存储的至少一个uri与应用信息的对应关系,确定所述第二应用信息对应的应用程序不具有解析所述第一uri的权限。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述第一操作系统确定所述第三应用程序为分身应用;
所述第一操作系统获取所述第三应用程序对应的第二应用程序的第一应用信息;
所述第一操作系统生成第二鉴权请求,所述第二鉴权请求包括所述第一应用信息以及所述第一uri,所述第二鉴权请求用于确定所述第一应用信息对应的应用程序是否具有解析所述第一uri的权限;
所述第一操作系统根据所述第一应用信息,以及所述电子设备的存储器中存储的至少一个uri与应用信息的对应关系,确定所述第一应用信息对应的应用程序具有解析所述第一uri的权限。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述第一操作系统确定所述第三操作系统具有解析所述第一uri的权限。
11.根据权利要求1-10中任一项所述的方法,其特征在于,所述第一文件信息包括所述第一文件的数据信息;
所述第一操作系统将第一文件信息发送给所述第三应用程序,包括:
所述第一操作系统从所述第一uri指示的存储地址获取所述第一文件的数据信息,将所述第一文件的数据信息发送给所述第三应用程序。
12.根据权利要求1-10中任一项所述的方法,其特征在于,所述第一文件信息包括所述第一文件的存储地址;
所述第一操作系统将第一文件信息发送给所述第三应用程序,包括:
所述第一操作系统根据所述第一uri,获取所述第一文件在所述电子设备的存储器中的存储地址,将所述第一文件的存储地址发送给所述第三应用程序;
所述第三应用程序将所述第一文件发送给所述第二电子设备,包括:
所述第三应用程序从所述第一文件的存储地址读取所述第一文件的数据信息,并将所述第一文件的数据信息发送给所述第二电子设备。
13.根据权利要求3或7所述的方法,其特征在于,所述第一标识为所述第三应用程序的appID。
14.根据权利要求1或4或9所述的方法,其特征在于,所述第一应用信息是所述第二应用程序的userID。
15.根据权利要求7或8所述的方法,其特征在于,所述第二应用信息是所述第三应用程序的userID。
16.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器存储有计算机指令;
当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-15中任一项所述的文件分享方法。
17.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-15中任一项所述的文件分享方法。
18.一种芯片系统,其特征在于,所述芯片系统包括接口电路和处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从存储器接收信号,并向所述处理器发送信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述芯片系统执行如权利要求1-15中任一项所述的文件分享方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210586492 | 2022-05-27 | ||
CN2022105864921 | 2022-05-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116049118A true CN116049118A (zh) | 2023-05-02 |
CN116049118B CN116049118B (zh) | 2023-11-07 |
Family
ID=86116999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210682562.3A Active CN116049118B (zh) | 2022-05-27 | 2022-06-16 | 一种文件分享方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049118B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255048A1 (en) * | 2001-08-01 | 2004-12-16 | Etai Lev Ran | Virtual file-sharing network |
CN106446632A (zh) * | 2016-09-22 | 2017-02-22 | 北京奇虎科技有限公司 | 应用程序的隐藏显示启动方法和隐藏显示启动装置 |
CN106446709A (zh) * | 2016-09-22 | 2017-02-22 | 东莞宇龙通信科技有限公司 | 应用程序分身方法及系统 |
CN106650324A (zh) * | 2016-10-10 | 2017-05-10 | 广东欧珀移动通信有限公司 | 应用程序的权限管理方法、装置及移动终端 |
CN109117208A (zh) * | 2018-07-20 | 2019-01-01 | 北京奇虎科技有限公司 | 信息分享方法、装置、用户终端及可读存储介质 |
CN111459358A (zh) * | 2020-03-31 | 2020-07-28 | 维沃移动通信有限公司 | 一种应用程序控制方法及电子设备 |
CN112825072A (zh) * | 2019-11-21 | 2021-05-21 | 青岛海信移动通信技术股份有限公司 | 通信终端以及数据共享方法 |
CN113302868A (zh) * | 2019-01-10 | 2021-08-24 | 苹果公司 | 在未许可nr中的初始接入期间物理上行链路控制信道的资源分配 |
-
2022
- 2022-06-16 CN CN202210682562.3A patent/CN116049118B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255048A1 (en) * | 2001-08-01 | 2004-12-16 | Etai Lev Ran | Virtual file-sharing network |
CN106446632A (zh) * | 2016-09-22 | 2017-02-22 | 北京奇虎科技有限公司 | 应用程序的隐藏显示启动方法和隐藏显示启动装置 |
CN106446709A (zh) * | 2016-09-22 | 2017-02-22 | 东莞宇龙通信科技有限公司 | 应用程序分身方法及系统 |
CN106650324A (zh) * | 2016-10-10 | 2017-05-10 | 广东欧珀移动通信有限公司 | 应用程序的权限管理方法、装置及移动终端 |
CN109117208A (zh) * | 2018-07-20 | 2019-01-01 | 北京奇虎科技有限公司 | 信息分享方法、装置、用户终端及可读存储介质 |
CN113302868A (zh) * | 2019-01-10 | 2021-08-24 | 苹果公司 | 在未许可nr中的初始接入期间物理上行链路控制信道的资源分配 |
CN112825072A (zh) * | 2019-11-21 | 2021-05-21 | 青岛海信移动通信技术股份有限公司 | 通信终端以及数据共享方法 |
CN111459358A (zh) * | 2020-03-31 | 2020-07-28 | 维沃移动通信有限公司 | 一种应用程序控制方法及电子设备 |
Non-Patent Citations (1)
Title |
---|
孙秀凯: "基于安卓定制Vision系统的日历设计以及应用多开功能的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN116049118B (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11252203B2 (en) | Method for processing message in group session, storage medium, and computer device | |
CN105610949B (zh) | 资源数据使用权限的共享方法、装置及系统 | |
US20180043264A1 (en) | Game Accessing Method and Processing Method, Server, Terminal, and System | |
CN111741011B (zh) | 验证方法、装置及存储介质 | |
EP3454248A1 (en) | Application decryption method, terminal and non-transitory computer-readable storage medium | |
CN110475152B (zh) | 视频播放方法、装置、终端设备及计算机可读存储介质 | |
CN115048642B (zh) | 多可信执行环境下可信应用间的通信方法及电子设备 | |
CN112543431A (zh) | 一种账户同步方法、介质及服务端 | |
CN112286632B (zh) | 云平台、云平台管理方法、装置、电子设备及储存介质 | |
CN116049118B (zh) | 一种文件分享方法和电子设备 | |
CN114024978A (zh) | 一种云资源的同步方法、装置、节点及存储介质 | |
CN113938890B (zh) | 数据共享方法和终端设备 | |
CN116938501A (zh) | 身份验证方法、设备、存储介质及程序产品 | |
CN112905355B (zh) | 用于信息处理的方法、设备和计算机存储介质 | |
CN113835889A (zh) | 获取输入事件的方法和相关装置 | |
CN113496039A (zh) | 一种权限管理方法及终端 | |
CN116506215B (zh) | 访问处理方法、装置、电子设备以及存储介质 | |
CN112261659B (zh) | 终端和服务器的控制方法、装置、终端和存储介质 | |
CN116610274B (zh) | 跨设备投屏方法、装置、电子设备及可读存储介质 | |
CN113938510A (zh) | 一种终端设备和终端控制方法 | |
US20150089563A1 (en) | Communication management apparatus, terminal, communication management system, communication management method, program, and information storage medium | |
CN114154124A (zh) | 一种获取服务的方法、装置、电子设备及存储介质 | |
CN117891547A (zh) | 交互方法、装置、设备及存储介质 | |
CN117459752A (zh) | 直播交互方法、装置、设备、介质及程序产品 | |
CN118741301A (zh) | 一种图像拍摄方法、电子设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |