一种管理Android平台的Activity实例的方法和装置制造方法及图纸

技术编号:14697866 阅读:27 留言:0更新日期:2017-02-24 03:23
本发明专利技术属于智能技术领域,提供一种管理Android平台的Activity实例的方法和装置,以避免一个应用多次开启同一界面。所述方法包括:创建Activity实例;判断是否允许名称相同的Activity实例存在于Activity管理模块中;若不允许名称相同的Activity实例存在于Activity管理模块中,则调用Activity实例管理接口中的Activity实例第一管理接口,以销毁名称相同的Activity实例。本发明专利技术提供的技术方案确保了一个应用中只会开启同一个Activity实例对应的界面,免去了用户通过多种方式开启同一个界面而在依次退出时多次出现相同的界面,增强了用户应用使用过程中的体验。

【技术实现步骤摘要】

本专利技术属于智能
,尤其涉及一种管理Android平台的Activity实例的方法和装置
技术介绍
Activity是Android系统中最基本也是最为常见用的四大组件(Activity、服务、内容提供和广播接收器)之一,具体地,在Android系统中,Activity是一个负责与用户交互的组件,向用户提供人机交互界面,广泛应用于各个应用中;在面向对象的编程语言中,一个Activity提供的人机交互界面对应于一个Activity实例。Activity本身有很多的属性,通过对这些属性进行设置,可以满足用户多样的需求。譬如,Activity的launchMode属性,就可以设置Activity实例在一个应用进程中是如何存在的,然而,其中的singleTask和singleInstance是只针对主Activity(主Activity即应用首界面)设置的,其它Activity实例在应用进程中的存在管理是需要用户自行管理的。当多种方式(譬如,广播启动、快捷方式启动、第三方应用调用,等等)可以打开同一个应用界面时,每调用一次相关接口,就会创建一个Activity实例,添加到应用进程中,应用进程中就会存在多个相同的Activity实例。按back键依次退出时,会多次出现相同的界面。此外,需要在一个Activity实例中开启其它的Activity实例,在某些特殊场景下,会引起用户体验问题。譬如,在ATV/DTV信源下调用了一个Activity实例,然后从这个Activity实例中启动另一个应用进程的主页面时,会因为信源的频繁切换引起界面闪烁。以上问题,目前业界尚无解决的方案。
技术实现思路
本专利技术的目的在于提供一种管理Android平台的Activity实例的方法和装置,以避免一个应用多次开启同一界面。本专利技术第一方面提供一种管理Android平台的Activity实例的方法,所述方法包括:创建Activity实例,所述Activity实例是父Activity类的子Activity类的实例;判断是否允许名称相同的Activity实例存在于Activity管理模块中,所述Activity管理模块提供多个Activity实例管理接口;若不允许名称相同的Activity实例存在于Activity管理模块中,则调用所述Activity实例管理接口中的Activity实例第一管理接口,以销毁所述名称相同的Activity实例。本专利技术第二方面提供一种管理Android平台的Activity实例的装置,所述装置包括:创建模块,用于创建Activity实例,所述Activity实例是父Activity类的子Activity类的实例;判断模块,用于判断是否允许名称相同的Activity实例存在于Activity管理模块中,所述Activity管理模块提供多个Activity实例管理接口;销毁模块,用于若不允许名称相同的Activity实例存在于Activity管理模块中,则调用所述Activity实例管理接口中的Activity实例第一管理接口,以销毁所述名称相同的Activity实例。从上述本专利技术技术方案可知,由于在判断不允许名称相同的Activity实例存在于Activity管理模块时,调用Activity实例管理接口中的Activity实例第一管理接口以销毁名称相同的Activity实例,因此,这种方式确保了一个应用中只会开启同一个Activity实例对应的界面,免去了用户通过多种方式开启同一个界面而在依次退出时多次出现相同的界面,增强了用户应用使用过程中的体验。附图说明图1是本专利技术实施例一提供的管理Android平台的Activity实例的方法的实现流程示意图;图2是本专利技术实施例二提供的管理Android平台的Activity实例的装置的结构示意图;图3是本专利技术实施例三提供的管理Android平台的Activity实例的装置的结构示意图;图4是本专利技术实施例四提供的管理Android平台的Activity实例的装置的结构示意图;图5-a是本专利技术实施例五提供的管理Android平台的Activity实例的装置的结构示意图;图5-b是本专利技术实施例六提供的管理Android平台的Activity实例的装置的结构示意图;图5-c是本专利技术实施例七提供的管理Android平台的Activity实例的装置的结构示意图;图6-a是本专利技术实施例八提供的管理Android平台的Activity实例的装置的结构示意图;图6-b是本专利技术实施例九提供的管理Android平台的Activity实例的装置的结构示意图;图6-c是本专利技术实施例十提供的管理Android平台的Activity实例的装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例提供一种管理Android平台的Activity实例的方法,所述方法包括:创建Activity实例,所述Activity实例是父Activity类的子Activity类的实例;判断是否允许名称相同的Activity实例存在于Activity管理模块中,所述Activity管理模块提供多个Activity实例管理接口;若不允许名称相同的Activity实例存在于Activity管理模块中,则调用所述Activity实例管理接口中的Activity实例第一管理接口,以销毁所述名称相同的Activity实例。本专利技术实施例还提供相应的管理Android平台的Activity实例的装置。以下分别进行详细说明。请参阅附图1,是本专利技术实施例一提供的管理Android平台的Activity实例的方法的实现流程示意图,主要包括以下步骤S101至步骤S103,详细说明如下:S101,创建Activity实例,该Activity实例是父Activity类的子Activity类的实例。首先,对本专利技术涉及的两个模块及其接口进行介绍。本专利技术涉及的两个模块包括Activity管理模块和父Activity类对应的父Activity类管理模块,其中,Activity管理模块用于管理activity实例的添加、移除、查询和所有Activity实例的销毁工作,父Activity类管理模块用于统一管理子Activity类实例的启动,添加、移除和销毁工作。Activity管理模块提供多个Activity实例管理接口,主要包括Activity实例第一管理接口、Activity实例第二管理接口、Activity实例第三管理接口以及Activity实例其他管理接口,父Activity类管理模块提供多个子Activity类管理接口,主要包括子Activity类第一管理接口、子Activity类第二管理接口、子Activity类第三管理接口和子Activity类第四管理接口,以下对各个接口逐一介绍。Activity实例第一管理接口是查询接口,用于查询Activity管理模块中是否存在某个名称的子Activity类实例;Activity实例第二管理接口是移除接口,用于将某个子Activity本文档来自技高网
...
一种管理Android平台的Activity实例的方法和装置

【技术保护点】
一种管理Android平台的Activity实例的方法,其特征在于,所述方法包括:创建Activity实例,所述Activity实例是父Activity类的子Activity类的实例;判断是否允许名称相同的Activity实例存在于Activity管理模块中,所述Activity管理模块提供多个Activity实例管理接口;若不允许名称相同的Activity实例存在于Activity管理模块中,则调用所述Activity实例管理接口中的Activity实例第一管理接口,以销毁所述名称相同的Activity实例。

【技术特征摘要】
1.一种管理Android平台的Activity实例的方法,其特征在于,所述方法包括:创建Activity实例,所述Activity实例是父Activity类的子Activity类的实例;判断是否允许名称相同的Activity实例存在于Activity管理模块中,所述Activity管理模块提供多个Activity实例管理接口;若不允许名称相同的Activity实例存在于Activity管理模块中,则调用所述Activity实例管理接口中的Activity实例第一管理接口,以销毁所述名称相同的Activity实例。2.如权利要求1所述的方法,其特征在于,所述调用所述Activity实例管理接口中的Activity实例第一管理接口,以销毁所述名称相同的Activity实例包括:调用所述Activity实例管理接口中的Activity实例第一管理接口,以查询所述Activity管理模块中是否存在与当前子Activity类实例名称相同的子Activity类实例;若所述Activity管理模块中存在与当前子Activity类实例名称相同的子Activity类实例,则将所述当前子Activity类实例或者与当前子Activity类实例名称相同的子Activity类实例销毁。3.如权利要求1所述的方法,其特征在于,所述父Activity类的父Activity类管理模块提供多个子Activity类管理接口,所述判断是否允许名称相同的Activity实例存在于Activity管理模块中包括:若调用了所述子Activity类管理接口中的子Activity类第一管理接口且没有对其中的参数设置,或者,调用了所述子Activity类管理接口中的子Activity类第二管理接口且对其中的参数进行了设置,则确定不允许名称相同的Activity实例存在于Activity管理模块中。4.如权利要求1至3任意一项所述的方法,其特征在于,所述父Activity类的父Activity类管理模块提供多个子Activity类管理接口,所述方法还包括:若需要结束子Activity类实例,则调用所述子Activity类管理接口中的子Activity类第三管理接口,设置在所述父Activity类中的onPause生命周期函数或者onStop生命周期函数中结束所述子Activity类实例,或者,调用所述子Activity类管理接口中的子Activity类第四管理接口。5.如权利要求1至3任意一项所述的方法,其特征在于,所述方法还包括:调用所述Activity实例管理接口中的Activity实例第二管理接口,将某个子Activity类实例对应的Activity单元从所述Activity管理模块中移除;或者调用所述Activity实例管理接口中的Activity实例第三管理接口,结束所述Activity管理模块中所有子Activity类实例并销毁所述Activity管理模块中...

【专利技术属性】
技术研发人员:李贞贞
申请(专利权)人:TCL集团股份有限公司
类型:发明
国别省市:广东;44

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

1