一种启动界面的方法及装置制造方法及图纸

技术编号:12511837 阅读:38 留言:0更新日期:2015-12-16 09:26
本发明专利技术的实施例公开一种启动界面的方法及装置。方法包括:在启动第一界面ActivitV时,获取向系统发送的启动请求,所述启动请求包括写入所述第一ActivitV的类名的Intent类,所述第一ActivitV的类名以一变量表示;将所述启动请求中以所述第一Activity的类名表示的变量修改为以第二ActivitV的类名表示的变量;将经过修改的所述启动请求发送给系统以启动所述第一ActivitV。应用本发明专利技术,可以降低编写界面代码的工作量。

【技术实现步骤摘要】

本专利技术涉及计算机通信技术,尤其涉及一种启动界面(Activity)的方法及装置。
技术介绍
目前,安卓(Android)操作系统以其操作简单且方便快捷的特性,越来越为用户所接受,已普遍应用于用户的工作以及生活中。界面(Activity)是基于Android操作系统的应用程序中最基本也是最为常见用的组件之一。一个Activity是一个应用程序组件,提供一个屏幕,用户可以通过提供的屏幕,用于与应用程序交互以完成某项任务。根据Android开发的设计标准,每一Activity需要在AndroidManifest.xml文件中注册该Activity的信息,当应用程序启动Activity时,向Android操作系统发送启动该Activity的请求,Android操作系统接收到该请求后,对请求启动的Activity进行一系列的检验其合法性的操作,其中包括判断该Activity是否在AndroidManifest.xml文件中注册,如果合法性校验通过,则可以启动Activity。但该启动Activity的方法,需要在AndroidManifest.xml文件中注册有该Activity的信息,这样,在特定的一些应用场景中,会导致应用程序的灵活性较差,不能满足用户的个性化需求。为了解决上述问题,现有技术提出了一种改进的启动Activity的方法,即通过代理Activity启动未注册的Activity。具体来说,在AndroidManifest.xml文件中注册一Activity,称为ActivityA,并在ActivityA中的每一个被Android操作系统回调的环节中再去调用与ActivityA绑定的未注册的ActivityB,并且,在未注册的ActivityB请求Android操作系统服务时,可以通过调用注册的ActivityA的方法去请求Android操作系统,即通过与ActivityA的绑定使得ActivityB在一定程度上拥有一个已注册的Activity所拥有的功能。上述通过ActivityA启动ActivityB的方法,虽然能避免ActivityB必须在AndroidManifest.xml文件中注册的问题,但需要编写ActivityA与ActivityB之间的绑定接口代码,增加了编写绑定接口代码的工作量,同时还增加了使用该绑定接口技术的学习成本。
技术实现思路
有鉴于此,本专利技术实施例提供一种启动界面的方法及装置,降低编写界面代码的工作量。为达到上述目的,本专利技术的实施例采用如下技术方案:一方面,本专利技术实施例提供一种启动界面的方法,包括:在启动第一界面Activity时,获取向系统发送的启动请求,所述启动请求包括写入所述第一Activity的类名的Intent类,所述第一Activity的类名以一变量表示;将所述启动请求中以所述第一Activity的类名表示的变量修改为以第二Activity的类名表示的变量;将经过修改的所述启动请求发送给系统以启动所述第一Activity。本专利技术实施例提供的启动界面的方法,将启动请求中以第一Activity的类名表示的变量替换为以第二Activity的类名表示的变量,再将经过修改的所述启动请求发送给系统以启动所述第一Activity。从而实现只需要在AndroidManifest.xml文件中注册一Activity,其他未注册的Activity都能通过两次替换的方法正常地启动起来,无须维护所有的Activity注册信息,无需编写注册的Activity与未注册的Activity的绑定接口代码,减少了编写绑定接口代码以及界面代码的工作量以及开发代价,启动Activity的效率高。另一方面,本专利技术实施例提供一种启动界面的装置,包括:启动请求拦截模块、变量替换校验模块以及变量替换启动模块,其中,启动请求拦截模块,用于在启动第一界面Activity时,获取向系统发送的启动请求,所述启动请求包括写入所述第一Activity的类名的Intent类,所述第一Activity的类名以一变量表示;变量替换校验模块,用于将所述启动请求中以所述第一Activity的类名表示的变量修改为以第二Activity的类名表示的变量;变量替换启动模块,用于将经过修改的所述启动请求发送给系统以启动所述第一Activity。本专利技术实施例提供的启动界面的装置,启动请求拦截模块在启动第一界面Activity时,获取向系统发送的启动请求,所述启动请求包括写入所述第一Activity的类名的Intent类,所述第一Activity的类名以一变量表示,变量替换校验模块将所述启动请求中以所述第一Activity的类名表示的变量修改为以第二Activity的类名表示的变量,变量替换启动模块再将将经过修改的所述启动请求发送给系统以启动所述第一Activity。从而实现只需要在AndroidManifest.xml文件中注册一Activity,其他未注册的Activity都能通过两次替换的方法正常地启动起来,无须维护所有的Activity注册信息,无需编写注册的Activity与未注册的Activity的绑定接口代码,减少了编写绑定接口代码以及界面代码的工作量以及开发代价,启动Activity的效率高。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本专利技术实施例启动界面的方法总体流程示意图;图2为本专利技术实施例启动界面的方法具体流程示意图;图3为本专利技术实施例启动界面的装置结构示意图;图4为本专利技术实施例启动界面的装置具体结构示意图。具体实施方式下面结合附图对本专利技术实施例进行详细描述。应当明确,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。图1为本专利技术实施例启动界面的方法总体流程示意图。参见图1,该流程包括:步骤11,在启动第一界面Activity时,获取向系统发送的启动请求,所述启动请求包括写入所述第一Activity的类名的Intent类,所述第一Activity的类名以一变量表示;本步骤中,所述第一A本文档来自技高网
...

【技术保护点】
一种启动界面的方法,其特征在于,该方法包括:在启动第一界面Activity时,获取向系统发送的启动请求,所述启动请求包括写入所述第一Activity的类名的Intent类,所述第一Activity的类名以一变量表示;将所述启动请求中以所述第一Activity的类名表示的变量修改为以第二Activity的类名表示的变量;将经过修改的所述启动请求发送给系统以启动所述第一Activity。

【技术特征摘要】
1.一种启动界面的方法,其特征在于,该方法包括:
在启动第一界面Activity时,获取向系统发送的启动请求,所述启动请求包
括写入所述第一Activity的类名的Intent类,所述第一Activity的类名以一变量
表示;
将所述启动请求中以所述第一Activity的类名表示的变量修改为以第二
Activity的类名表示的变量;
将经过修改的所述启动请求发送给系统以启动所述第一Activity。
2.根据权利要求1所述的方法,其特征在于,所述第一Activity为未注册
的Activity,所述第二Activity为已注册的Activity。
3.根据权利要求2所述的方法,其特征在于,在所述将所述启动请求中以
所述第一Activity的类名表示的变量修改为以第二Activity的类名表示的变量之
后,所述方法进一步包括:
设置所述第二Activity的类名表示的变量的父类与所述第一Activity的类名
表示的变量相同。
4.根据权利要求2所述的方法,其特征在于,所述将经过修改的所述启动
请求发送给系统以启动所述第一Activity包括:
将经过修改的所述启动请求发送给系统以进行合法性校验,拦截接收的通
过合法性校验的启动请求响应,将所述启动请求响应中以所述第二Activity的类
名表示的变量替换为以所述第一Activity的类名表示的变量,以使应用程序根据
替换的变量生成所述第一Activity的实例以启动所述第一Activity。
5.根据权利要求1所述的方法,其特征在于,所述将所述启动请求中以所
述第一Activity的类名表示的变量修改为以第二Activity的类名表示的变量包
括:
分析android操作系统源码,采用反射机制,将应用程序Application类中的
mBase变量的mPackageInfo变量的mMainThread变量的mInstrume...

【专利技术属性】
技术研发人员:孙文鸿
申请(专利权)人:北京金山安全软件有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1