The embodiment of the invention discloses a URI-based process-level routing method and device for Android system, which can realize cross-process routing. The method includes: S1, when the first process accesses the data of the second process, it obtains the URI corresponding to the data; S2, the first process queries the mapping table of the default URI and the name of the ContentProvider using the default Content Resolver, obtains the name of the ContentProvider corresponding to the URI, and obtains the corresponding name of the ContentProvider. Data in the Content Provider, where the Content Provider name corresponding to the Content Provider belongs to the second process.
【技术实现步骤摘要】
Android系统基于URI的进程级别路由方法及装置
本专利技术实施例涉及Android领域,具体涉及一种Android系统基于URI的进程级别路由方法及装置。
技术介绍
Android路由是指通过URI(UniformResourceIdentifier,统一资源标识符)实现界面跳转和参数传递,业内的路由方案目前可以做到在代码编译期基于java注解自动收集路由关系,避免了主动注册的麻烦。调用方只需调用路由器router传递URI,由router自动匹配页面,注入参数,并打开目标页面。但是现有技术没有实现跨进程的路由,即不能通过URI访问到另一个进程的数据。
技术实现思路
针对现有技术存在的不足和缺陷,本专利技术实施例提供一种Android系统基于URI的进程级别路由方法及装置。一方面,本专利技术实施例提出一种Android系统基于URI的进程级别路由方法,包括:S1、第一进程在访问第二进程的数据时,获取所述数据对应的URI;S2、所述第一进程利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应的ContentProvider名称,获取所述ContentProvider名称对应的ContentProvider中的数据,其中,所述ContentProvider名称对应的ContentProvider属于所述第二进程。另一方面,本专利技术实施例提出一种Android系统基于URI的进程级别路由装置,包括:第一获取单元,用于在访问第二进程的数据时,获取所述数据对应的URI;第二获取单元,用于利用预设 ...
【技术保护点】
1.一种Android系统基于URI的进程级别路由方法,其特征在于,包括:S1、第一进程在访问第二进程的数据时,获取所述数据对应的URI;S2、所述第一进程利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应的ContentProvider名称,获取所述ContentProvider名称对应的ContentProvider中的数据,其中,所述ContentProvider名称对应的ContentProvider属于所述第二进程。
【技术特征摘要】
1.一种Android系统基于URI的进程级别路由方法,其特征在于,包括:S1、第一进程在访问第二进程的数据时,获取所述数据对应的URI;S2、所述第一进程利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应的ContentProvider名称,获取所述ContentProvider名称对应的ContentProvider中的数据,其中,所述ContentProvider名称对应的ContentProvider属于所述第二进程。2.根据权利要求1所述的方法,其特征在于,在所述S1之前,还包括:在编译期,通过扫描包含有路由注解的方法,自动生成所述ContentProvider的java辅助类,并将所述URI和所述ContentProvider名称的对应关系加入预设的映射表。3.根据权利要求2所述的方法,其特征在于,所述S2,包括:所述ContentResolver调用所述java辅助类,将所述ContentProvider名称传递给所述java辅助类;所述java辅助类通过所述ContentProvider名称对应的ContentProvider调用所述第二进程的查找query方法,得到所述查找query方法返回的所述ContentProvider中的数据,并将所述ContentProvider中的数据返回给所述ContentResolver,其中,所述查找query方法用于查找ContentProvider中的数据,并返回查找结果。4.一种Android系统基于URI的进程级别路由装置,其特征在于,包括:第一获取单元,用于在访问第二进程的数据时,获取所述数据对应的URI;第二获取单元,用于利用预设的ContentResolver查询预设的URI和ContentProvide...
【专利技术属性】
技术研发人员:陈勇,
申请(专利权)人:链家网北京科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。