CN108958849B - 获取当前Activity对象的方法、装置、存储介质及移动终端 - Google Patents

获取当前Activity对象的方法、装置、存储介质及移动终端 Download PDF

Info

Publication number
CN108958849B
CN108958849B CN201810687525.5A CN201810687525A CN108958849B CN 108958849 B CN108958849 B CN 108958849B CN 201810687525 A CN201810687525 A CN 201810687525A CN 108958849 B CN108958849 B CN 108958849B
Authority
CN
China
Prior art keywords
activity
set variable
calling
manager object
predefined
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
CN201810687525.5A
Other languages
English (en)
Other versions
CN108958849A (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810687525.5A priority Critical patent/CN108958849B/zh
Publication of CN108958849A publication Critical patent/CN108958849A/zh
Application granted granted Critical
Publication of CN108958849B publication Critical patent/CN108958849B/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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种获取当前Activity对象的方法、装置、存储介质及移动终端。该方法包括:通过getManager()静态方法获取唯一的Activity管理器对象;在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型;在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶;通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象。通过采用本申请所提供的技术方案,可以实现对Activity对象的管理。

Description

获取当前Activity对象的方法、装置、存储介质及移动终端
技术领域
本发明实施例涉及安卓技术领域,尤其涉及一种获取当前Activity对象的方法、装置、存储介质及安卓终端。
背景技术
Activity是Android组件中最基本、最为常见用的组件之一。
然而,现有技术中,只能够获取当前正在运行的Activity的信息,例如正在运行的Activity的名称,进程id等信息,无法获取到当前正在运行的Activity对象信息,因此,更加无法对Activity对象进行操作等处理。
发明内容
本发明实施例提供一种获取当前Activity对象的方法、装置、存储介质及安卓终端,可以实现对Activity对象的管理。
第一方面,本发明实施例提供了一种获取当前Activity对象的方法,该方法包括:
通过getManager()静态方法获取唯一的Activity管理器对象;其中,所述getManager()静态方法为公有类型,所述Activity管理器对象的访问权限为私有类型;
在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型;
在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶;
通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象。
进一步的,所述方法还包括:
在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用删除Activity的方法,在所述Activity管理器对象中进行删除Activity操作;其中,所述集合变量的访问权限为私有类型;
相应的,
在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用删除Activity的方法,将当前的Activity对象从集合变量的栈顶删除。
进一步的,在通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象之前,所述方法还包括:
通过预定义的公有类型的currentActivity方法调用集合变量元素个数判断函数,判断所述结合变量中的元素个数是否为0;
若不为0,则执行:通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象;
若为0,确定所述集合变量中元素为空,则通过调用return null返回为空。
进一步的,通过getManager()的静态方法获取唯一的Activity管理器对象,包括:
通过getManager()的静态方法判断当前是否存在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类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶,或者,在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用删除Activity的方法,将当前的Activity对象从集合变量的栈顶删除之后,所述方法还包括:
定义所有的Activity继承BaseActivity类;
当存在Activity启动或者销毁时,将Activity对象添加至Activity管理器对象中,或者,从Activity管理器对象中删除。
进一步的,通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象,包括:
通过所述currentActivity方法调用所述集合变量中的mActivityStack.isEmpty()方法来判断所述集合变量中Activity对象是否为空;
若是,则返回一个空对象;
若否,则通过所述currentActivity方法调用所述集合变量中的mActivityStack.lastElement()方法来访问集合变量的栈顶,并返回所述集合变量的栈顶的当前Activity对象。
第二方面,本发明实施例还提供了一种获取当前Activity对象的装置,该装置包括:
Activity管理器对象获取模块,用于通过getManager()静态方法获取唯一的Activity管理器对象;其中,所述getManager()静态方法为公有类型,所述Activity管理器对象的访问权限为私有类型;
Activity添加模块,用于在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型;
栈顶添加模块,用于在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶;
Activity对象获取模块,用于通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的获取当前Activity对象的方法。
第四方面,本申请实施例提供了一种安卓终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的获取当前Activity对象的方法。
本申请实施例所提供的技术方案,通过getManager()静态方法获取唯一的Activity管理器对象;其中,所述getManager()静态方法为公有类型,所述Activity管理器对象的访问权限为私有类型;在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型;在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶;通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象。通过采用本申请所提供的技术方案,可以实现对Activity对象的管理。
附图说明
图1是本发明实施例一提供的获取当前Activity对象的方法的流程图;
图2是本发明实施例三提供的获取当前Activity对象的装置的结构示意图;
图3为本申请实施例提供的一种安卓终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的获取当前Activity对象的方法的流程图,本实施例可适用获取当前Activity对象情况,该方法可以由本发明实施例所提供的获取当前Activity对象的装置来执行,该装置可以由软件和/或硬件的方式来实现,并可集成于安卓终端中。
如图1所示,所述获取当前Activity对象的方法包括:
S110、通过getManager()静态方法获取唯一的Activity管理器对象;其中,所述getManager()静态方法为公有类型,所述Activity管理器对象的访问权限为私有类型。
其中,首先可以预先定义一个Activity管理器类,具体的定义如下所示:
public class DYActivityManager{};
其中,本发明实施例所提供的DYActivityManager类是用于实现对Activity对象进行管理,并且只生成一个Activity管理器对象的类。在传统技术方案中,ActivityManager类在对Activity对象进行管理的过程中,生成的Activity管理器对象并不唯一。本实施例中,针对如何实现生成唯一的Activity管理器对象进行了静态方法以及函数等的定义,是与现有技术中的ActivityManager类有所不同的,下述内容中将对此进行清除的阐释。
首先,将Activity管理类定义成一个public公有类型的访问权限,这样其他类具备访问该类的权限。其次,我们将Activity的管理类的名称定义成DYActivityManager。
在这里,传统方案中获取一个类对象的方法是通过调用DYActivityManager的构造函数来直接实例化一个DYActivityManager类的对象mDYActivityManager。这样传统方案中会通过多次实例化得到不同的实例化对象,这样多个Activity管理器对象来对Activity进行管理的时候就无法进行合理的处理了,因此这里在实例化唯一的Activity管理器对象的过程中采用全新的方式进行。
具体的,为了能够获取到唯一的实例化Activity管理器对象,可以定义一个获取实例化Activity管理器对象的getManager()静态方法,具体的定义getManager()静态方法如下所示:
Public static DYActivityManager getManager();
该方法通过定义成一个public公有类型访问权限,并且将其定义成static静态的方法,能够使得类直接进行访问而无需通过对象来进行方法的调用。该静态方法的返回值是返回一个DYActivityManager类型的对象,该静态方法的函数名称是getManager()。
进一步的,在类DYActivityManager中定义一个DYActivityManager类型的变量mDYActivityManager,具体的定义方法是private static DYActivityManagermDYActivityManager=null。该定义中通过使用private私有的修饰符来对该变量对象进行修饰,表示无法通过对象或类获取到mDYActivityManager变量。这里,将mDYActivityManager对象定义成一个static静态的,因为静态函数中仅仅能够处理静态对象,因此后续mDYActivityManager对象可以在getManager()函数中进行获取和处理等。在定义mDYActivityManager对象的时候也对mDYActivityManager对象进行了初始化操作,将其初始化成null空对象。
接下来,在函数getManager()中首先判断mDYActivityManager是否为空,具体的,可以通过调用mDYActivityManager==null的方式来进行判定的。如果为null,则通过调用mDYActivityManager=new DYActivityManager()方法对mDYActivityManager进行初始化操作,并通过return mDYActivityManager方法将结果直接进行返回。如果不为空,此时直接将曾经初始化好的mDYActivityManager对象通过return mDYActivityManager的方法进行返回即可。这样就可以得到同一个mDYActivityManager对象了。
S120、在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型。
在本实施例中,可选的,在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用删除Activity的方法,在所述Activity管理器对象中进行删除Activity操作;其中,所述集合变量的访问权限为私有类型。
为了能够对Activity进行添加和删除的操作进行管理,首先可以定义一个堆栈类型的集合变量mActivityStack来对Activity进行管理操作,具体的定义方法如下所示:
private Stack<Activity>mActivityStack;
将mActivityStack变量定义成私有访问权限private的类型,这样就只能在对象mDYActivityManager内部对该mActivityStack变量进行操作,外界无法对其进行更改和操作。其次,将其定义成Stack堆栈类型的对象,该堆栈中存储的是Activity类型的数据。该变量的名称是mActivityStack。
接下来,需要在DYActivityManager类的构造函数中对mActivityStack变量进行初始化操作,具体的初始化方法是通过调用mActivityStack对象的构造函数来对其进行赋值操作,具体是mActivityStack=new Stack<Activity>();方法来进行实现。
为了能够对Activity的添加和删除进行管理,此时我们需要定义两个函数来对其进行添加和删除的处理操作,具体定义添加和删除的方法如下所示:
public void addActivity(Activity activity)添加Activity的方法;
public void removeActivity(Activity activity)删除Activity的方法。
可以看得出来在定义该添加和删除Activity的方法的时候其访问权限全都是public公有类型,这样后续调用者可以通过mDYActivityManager对象来对该函数进行调用。
其中,addActivity函数的实现中我们首先需要判定mActivityStack==null是否为空,如果为null,此时我们需要通过调用mActivityStack=new Stack<Activity>();方法来对其进行主动实例化处理,然后在通过调用mActivityStack中的mActivityStack.add(activity)将Activity对象添加到私有变量mActivityStack中,这样就完成了Activity对象的添加流程。
同理,removeActivity函数的实现中我们首先需要判定mActivityStack==null是否为空,如果为null,此时我们需要通过调用mActivityStack=new Stack<Activity>();方法来对其进行主动实例化处理,然后在通过调用mActivityStack中的mActivityStack.remove(activity)将Activity对象从添加到私有变量mActivityStack中进行移除掉,这样就完成了Activity对象的移除流程。
这样,就可以通过设计了一个public类型的函数,在函数内部对private类型的变量mActivityStack进行添加和删除的操作,从而使得调用者可以借助public的权限来修改私有权限的变量mActivityStack中的信息。
S130、在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶。
在本实施例中,可选的,在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用删除Activity的方法,将当前的Activity对象从集合变量的栈顶删除。
为了能够获取到当前正在运行的Activity对象,我们首先定义一个基础的Activity类BaseActivity,并且让该类继承系统的Activity类,具体的实现方法如下:
Public class BaseActivity extends Activity{};
这样就声名了一个继承的Activity类BaseActivity类。
在BaseActivity类的生命周期函数oncreate函数中调用addActivity方法,把当前的Activity对象添加到mActivityStack对象中。其中oncreate方法是android系统中提供的一个在创建Activity时会掉调用的一个生命周期方法,oncreate函数是被系统进行调用的,调用时机表明该Activity正在被初始化启动。
同理的,在BaseActivity类的生命周期函数ondestory函数中调用removeActivity方法,把当前的Activity对象从mActivityStack对象中进行移除。其中ondestory方法是系统在销毁一个Activity的时候会主动调用的一个生命周期方法。
所有的页面Activity都需要继承我们定义的BaseActivity,这样所有的页面在启动的时候都会自动添加到管理器中,销毁的时候自动从管理器中移除掉。
S140、通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象。
在本实施例中,可选的,在通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象之前,所述方法还包括:通过预定义的公有类型的currentActivity方法调用集合变量元素个数判断函数,判断所述结合变量中的元素个数是否为0;若不为0,则执行:通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象;若为0,确定所述集合变量中元素为空,则通过调用returnnull返回为空。
可以设计一个获取当前正在运行的Activity的方法,具体的方法定义如下所示:
public Activity currentActivity(){};
其名称是currentActivity,是public公有类型,返回值是一个Activity类型的对象。
在currentActivity函数中我们首先需要调用mActivityStack中的mActivityStack.isEmpty();方法来判断mActivityStack对象是否为空,如果是空的,那么说明已经没有一个Activity在运行了,此时直接通过调用return null返回一个空对象即可。
如果不是空的,直接通过调用mActivityStack.lastElement();来返回最后加入进来的那个Activity对象,也就是栈顶的Activity对象,最后加入进来的Activity就是当前正在运行的Activity对象,这样就获取到了当前正在运行的Activity对象了。
本申请实施例所提供的技术方案,通过getManager()静态方法获取唯一的Activity管理器对象;其中,所述getManager()静态方法为公有类型,所述Activity管理器对象的访问权限为私有类型;在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型;在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶;通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象。通过采用本申请所提供的技术方案,可以实现对Activity对象的管理。
在上述技术方案的基础上,可选的,通过getManager()的静态方法获取唯一的Activity管理器对象,包括:通过getManager()的静态方法判断当前是否存在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管理器对象中对Activity对象进行有序的添加和删除操作,可以通过预定义的堆栈类型的集合变量保证获取到的Activity对象为当前正在前端的Activity对象。
在上述技术方案的基础上,可选的,在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶,或者,在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用删除Activity的方法,将当前的Activity对象从集合变量的栈顶删除之后,所述方法还包括:定义所有的Activity继承BaseActivity类;当存在Activity启动或者销毁时,将Activity对象添加至Activity管理器对象中,或者,从Activity管理器对象中删除。这样设置的好处是可以通过类的继承的方式,使BaseActivity类具有Activity类的相应属性,无需对一些功能的重新设置,简化了本方案的实现过程。
在上述技术方案的基础上,可选的,通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象,包括:通过所述currentActivity方法调用所述集合变量中的mActivityStack.isEmpty()方法来判断所述集合变量中Activity对象是否为空;若是,则返回一个空对象;若否,则通过所述currentActivity方法调用所述集合变量中的mActivityStack.lastElement()方法来访问集合变量的栈顶,并返回所述集合变量的栈顶的当前Activity对象。这样设置的好处是获取到了当前正在运行的Activity对象。
本方案所述的方式能够直接获取到当前的运行的Activity的对象,这样程序中就可以通过该Activity来进行很多其他函数的调用等。
实施例二
实施例二为本发明的优选实施例。为了能够让本领域技术人员更加清晰的了解本发明实施例所提供的技术方案,本实施例在上述实施例的基础上进行了更加清晰的介绍。
本方案所述的方式能够直接获取到当前的运行的Activity的对象,传统方案中仅仅能获取到Activity的信息而不是Activity的对象本身,因此无法对Activity的对象进行操作等处理。
本方案将主要围绕下述几个方面来进行展开和说明等:
一、Activity管理器对象的获取方法;
二、Activity添加和删除Activity的方法;
三、Activity中维护当前正在运行的Activity方法。
接下来我们将主要围绕上述几个方面来进行展开和说明并详细描述其中的实现方法和实现细节等。
一、Activity管理器对象的获取方法。
本步骤主要描述了Activity的管理器对象的获取方法,Activity的管理器是实现的一个对Activity对象进行管理的类,接下来将描述如何获取到该类的对象的流程。
首先可以预先定义一个Activity管理器类,具体的定义如下所示:
public class DYActivityManager{};
首先,将Activity管理类定义成一个public公有类型的访问权限,这样其他类具备访问该类的权限。其次,我们将Activity的管理类的名称定义成DYActivityManager。
在这里,传统方案中获取一个类对象的方法是通过调用DYActivityManager的构造函数来直接实例化一个DYActivityManager类的对象mDYActivityManager。这样传统方案中会通过多次实例化得到不同的实例化对象,这样多个Activity管理器对象来对Activity进行管理的时候就无法进行合理的处理了,因此这里在实例化唯一的Activity管理器对象的过程中采用全新的方式进行。
具体的,为了能够获取到唯一的实例化Activity管理器对象,可以定义一个获取实例化Activity管理器对象的getManager()静态方法,具体的定义getManager()静态方法如下所示:
Public static DYActivityManager getManager();
该方法通过定义成一个public公有类型访问权限,并且将其定义成static静态的方法,能够使得类直接进行访问而无需通过对象来进行方法的调用。该静态方法的返回值是返回一个DYActivityManager类型的对象,该静态方法的函数名称是getManager()。
进一步的,在类DYActivityManager中定义一个DYActivityManager类型的变量mDYActivityManager,具体的定义方法是private static DYActivityManagermDYActivityManager=null。该定义中通过使用private私有的修饰符来对该变量对象进行修饰,表示无法通过对象或类获取到mDYActivityManager变量。这里,将mDYActivityManager对象定义成一个static静态的,因为静态函数中仅仅能够处理静态对象,因此后续mDYActivityManager对象可以在getManager()函数中进行获取和处理等。在定义mDYActivityManager对象的时候也对mDYActivityManager对象进行了初始化操作,将其初始化成null空对象。
接下来,在函数getManager()中首先判断mDYActivityManager是否为空,具体的,可以通过调用mDYActivityManager==null的方式来进行判定的。如果为null,则通过调用mDYActivityManager=new DYActivityManager()方法对mDYActivityManager进行初始化操作,并通过return mDYActivityManager方法将结果直接进行返回。如果不为空,此时直接将曾经初始化好的mDYActivityManager对象通过return mDYActivityManager的方法进行返回即可。这样就可以得到同一个mDYActivityManager对象了。
二、Activity添加和删除Activity的方法。
本步骤主要描述如何在mDYActivityManager对象中进行添加和删除Activity的方法,接下来将描述其详细实现步骤。
为了能够对Activity进行添加和删除的操作进行管理,首先可以定义一个堆栈类型的集合变量mActivityStack来对Activity进行管理操作,具体的定义方法如下所示:
private Stack<Activity>mActivityStack;
将mActivityStack变量定义成私有访问权限private的类型,这样就只能在对象mDYActivityManager内部对该mActivityStack变量进行操作,外界无法对其进行更改和操作。其次,将其定义成Stack堆栈类型的对象,该堆栈中存储的是Activity类型的数据。该变量的名称是mActivityStack。
接下来,需要在DYActivityManager类的构造函数中对mActivityStack变量进行初始化操作,具体的初始化方法是通过调用mActivityStack对象的构造函数来对其进行赋值操作,具体是mActivityStack=new Stack<Activity>();方法来进行实现。
为了能够对Activity的添加和删除进行管理,此时我们需要定义两个函数来对其进行添加和删除的处理操作,具体定义添加和删除的方法如下所示:
public void addActivity(Activity activity)添加Activity的方法;
public void removeActivity(Activity activity)删除Activity的方法。
可以看得出来在定义该添加和删除Activity的方法的时候其访问权限全都是public公有类型,这样后续调用者可以通过mDYActivityManager对象来对该函数进行调用。
其中,addActivity函数的实现中我们首先需要判定mActivityStack==null是否为空,如果为null,此时我们需要通过调用mActivityStack=new Stack<Activity>();方法来对其进行主动实例化处理,然后在通过调用mActivityStack中的mActivityStack.add(activity)将Activity对象添加到私有变量mActivityStack中,这样就完成了Activity对象的添加流程。
同理,removeActivity函数的实现中我们首先需要判定mActivityStack==null是否为空,如果为null,此时我们需要通过调用mActivityStack=new Stack<Activity>();方法来对其进行主动实例化处理,然后在通过调用mActivityStack中的mActivityStack.remove(activity)将Activity对象从添加到私有变量mActivityStack中进行移除掉,这样就完成了Activity对象的移除流程。
这样,就可以通过设计了一个public类型的函数,在函数内部对private类型的变量mActivityStack进行添加和删除的操作,从而使得调用者可以借助public的权限来修改私有权限的变量mActivityStack中的信息。
三、Activity中维护当前正在运行的Activity方法。
为了能够获取到当前正在运行的Activity对象,我们首先定义一个基础的Activity类BaseActivity,并且让该类继承系统的Activity类,具体的实现方法如下:
Public class BaseActivity extends Activity{};
这样就声名了一个继承的Activity类BaseActivity类。
在BaseActivity类的生命周期函数oncreate函数中调用addActivity方法,把当前的Activity对象添加到mActivityStack对象中。其中oncreate方法是android系统中提供的一个在创建Activity时会掉调用的一个生命周期方法,oncreate函数是被系统进行调用的,调用时机表明该Activity正在被初始化启动。
同理的,在BaseActivity类的生命周期函数ondestory函数中调用removeActivity方法,把当前的Activity对象从mActivityStack对象中进行移除。其中ondestory方法是系统在销毁一个Activity的时候会主动调用的一个生命周期方法。
所有的页面Activity都需要继承我们定义的BaseActivity,这样所有的页面在启动的时候都会自动添加到管理器中,销毁的时候自动从管理器中移除掉。
可以设计一个获取当前正在运行的Activity的方法,具体的方法定义如下所示:
public Activity currentActivity(){};
其名称是currentActivity,是public公有类型,返回值是一个Activity类型的对象。
在currentActivity函数中我们首先需要调用mActivityStack中的mActivityStack.isEmpty();方法来判断mActivityStack对象是否为空,如果是空的,那么说明已经没有一个Activity在运行了,此时直接通过调用return null返回一个空对象即可。
如果不是空的,直接通过调用mActivityStack.lastElement();来返回最后加入进来的那个Activity对象,也就是栈顶的Activity对象,最后加入进来的Activity就是当前正在运行的Activity对象,这样就获取到了当前正在运行的Activity对象了。
实施例三
图2是本发明实施例三提供的获取当前Activity对象的装置的结构示意图。如图2所示,所述获取当前Activity对象的装置,包括:
Activity管理器对象获取模块210,用于通过getManager()静态方法获取唯一的Activity管理器对象;其中,所述getManager()静态方法为公有类型,所述Activity管理器对象的访问权限为私有类型;
Activity添加模块220,用于在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型;
栈顶添加模块230,用于在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶;
Activity对象获取模块240,用于通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象。
本申请实施例所提供的技术方案,通过getManager()静态方法获取唯一的Activity管理器对象;其中,所述getManager()静态方法为公有类型,所述Activity管理器对象的访问权限为私有类型;在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型;在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶;通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象。通过采用本申请所提供的技术方案,可以实现对Activity对象的管理。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例四
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种获取当前Activity对象的方法,该方法包括:
通过getManager()静态方法获取唯一的Activity管理器对象;其中,所述getManager()静态方法为公有类型,所述Activity管理器对象的访问权限为私有类型;
在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型;
在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶;
通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的获取当前Activity对象的操作,还可以执行本申请任意实施例所提供的获取当前Activity对象的方法中的相关操作。
实施例五
本申请实施例提供了一种安卓终端,该安卓终端中可集成本申请实施例提供的获取当前Activity对象的装置。图3为本申请实施例提供的一种安卓终端的结构示意图。如图3所示,该安卓终端可以包括:存储器301、中央处理器(Central Processing Unit,CPU)302(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU302和所述存储器301设置在所述电路板上;所述电源电路,用于为所述安卓终端的各个电路或器件供电;所述存储器301,用于存储可执行程序代码;所述CPU302通过读取所述存储器301中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:
通过getManager()静态方法获取唯一的Activity管理器对象;其中,所述getManager()静态方法为公有类型,所述Activity管理器对象的访问权限为私有类型;
在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型;
在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶;
通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象。
所述安卓终端还包括:外设接口303、RF(Radio Frequency,射频)电路305、音频电路306、扬声器311、电源管理芯片308、输入/输出(I/O)子系统309、触摸屏312、其他输入/控制设备310以及外部端口304,这些部件通过一个或多个通信总线或信号线307来通信。
应该理解的是,图示安卓终端300仅仅是安卓终端的一个范例,并且安卓终端300可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于获取当前Activity对象的安卓终端进行详细的描述,该安卓终端以手机为例。
存储器301,所述存储器301可以被CPU302、外设接口303等访问,所述存储器301可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口303,所述外设接口303可以将设备的输入和输出外设连接到CPU302和存储器301。
I/O子系统309,所述I/O子系统309可以将设备上的输入输出外设,例如触摸屏312和其他输入/控制设备310,连接到外设接口303。I/O子系统309可以包括显示控制器3091和用于控制其他输入/控制设备310的一个或多个输入控制器3092。其中,一个或多个输入控制器3092从其他输入/控制设备310接收电信号或者向其他输入/控制设备310发送电信号,其他输入/控制设备310可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器3092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏312,所述触摸屏312是用户安卓终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统309中的显示控制器3091从触摸屏312接收电信号或者向触摸屏312发送电信号。触摸屏312检测触摸屏上的接触,显示控制器3091将检测到的接触转换为与显示在触摸屏312上的用户界面对象的交互,即实现人机交互,显示在触摸屏312上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路305,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路305接收并发送RF信号,RF信号也称为电磁信号,RF电路305将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路305可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路306,主要用于从外设接口303接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器311。
扬声器311,用于将手机通过RF电路305从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片308,用于为CPU302、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
本申请实施例提供的安卓终端,可以实现对Activity对象的管理。
上述实施例中提供的获取当前Activity对象的装置、存储介质及安卓终端可执行本申请任意实施例所提供的获取当前Activity对象的方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的获取当前Activity对象的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种获取当前Activity对象的方法,其特征在于,包括:
通过getManager()静态方法获取唯一的Activity管理器对象;其中,所述getManager()静态方法为公有类型,所述Activity管理器对象的访问权限为私有类型;
在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型;
在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶;
通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象;
通过getManager()的静态方法获取唯一的Activity管理器对象,包括:
通过getManager()的静态方法判断当前是否存在Activity管理器对象;
若是,则通过返回Activity管理器对象方法得到所返回的Activity管理器对象;
若否,则通过调用Activity管理器类的构造函数创建Activity管理器对象并对所述Activity管理器对象进行初始化操作,并返回初始化操作后的Activity管理器对象。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用删除Activity的方法,在所述Activity管理器对象中进行删除Activity操作;其中,所述集合变量的访问权限为私有类型;
相应的,
在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用删除Activity的方法,将当前的Activity对象从集合变量的栈顶删除。
3.根据权利要求2所述的方法,其特征在于,在通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象之前,所述方法还包括:
通过预定义的公有类型的currentActivity方法调用集合变量元素个数判断函数,判断所述集 合变量中的元素个数是否为0;
若不为0,则执行:通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象;
若为0,确定所述集合变量中元素为空,则通过调用return null返回为空。
4.根据权利要求2所述的方法,其特征在于,在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作,包括:
判断所述Activity管理器对象中集合变量是否存在;
若不存在,则通过集合变量的构造函数对所述集合变量进行初始化;并调用公有类型访问权限的添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;
若存在,则调用公有类型访问权限的添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;
相应的,在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用删除Activity的方法,在所述Activity管理器对象中进行删除Activity操作,包括:
判断所述Activity管理器对象中集合变量是否存在;
若不存在,则通过集合变量的构造函数对所述集合变量进行初始化;
若存在,则调用公有类型访问权限的删除Activity的方法,在所述Activity管理器对象中进行删除Activity操作。
5.根据权利要求2所述的方法,其特征在于,在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶,或者,在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用删除Activity的方法,将当前的Activity对象从集合变量的栈顶删除之后,所述方法还包括:
定义所有的Activity继承BaseActivity类;
当存在Activity启动或者销毁时,将Activity对象添加至Activity管理器对象中,或者,从Activity管理器对象中删除。
6.根据权利要求2所述的方法,其特征在于,通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象,包括:
通过所述currentActivity方法调用所述集合变量中的mActivityStack.isEmpty()方法来判断所述集合变量中Activity对象是否为空;
若是,则返回一个空对象;
若否,则通过所述currentActivity方法调用所述集合变量中的mActivityStack.lastElement()方法来访问集合变量的栈顶,并返回所述集合变量的栈顶的当前Activity对象。
7.一种获取当前Activity对象的装置,其特征在于,包括:
Activity管理器对象获取模块,用于通过getManager()静态方法获取唯一的Activity管理器对象;其中,所述getManager()静态方法为公有类型,所述Activity管理器对象的访问权限为私有类型;
Activity添加模块,用于在所述Activity管理器对象中,通过预定义的堆栈类型的集合变量调用添加Activity的方法,在所述Activity管理器对象中进行添加Activity操作;其中,所述集合变量的访问权限为私有类型;
栈顶添加模块,用于在预定义的继承Activity类的BaseActivity类中的生命周期方法,通过调用添加Activity的方法,将当前的Activity对象添加到集合变量的栈顶;
Activity对象获取模块,用于通过预定义的公有类型的currentActivity方法访问集合变量的栈顶,返回当前Activity对象;
通过getManager()的静态方法获取唯一的Activity管理器对象,包括:
通过getManager()的静态方法判断当前是否存在Activity管理器对象;
若是,则通过返回Activity管理器对象方法得到所返回的Activity管理器对象;
若否,则通过调用Activity管理器类的构造函数创建Activity管理器对象并对所述Activity管理器对象进行初始化操作,并返回初始化操作后的Activity管理器对象。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的获取当前Activity对象的方法。
9.一种安卓终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一所述的获取当前Activity对象的方法。
CN201810687525.5A 2018-06-28 2018-06-28 获取当前Activity对象的方法、装置、存储介质及移动终端 Active CN108958849B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810687525.5A CN108958849B (zh) 2018-06-28 2018-06-28 获取当前Activity对象的方法、装置、存储介质及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810687525.5A CN108958849B (zh) 2018-06-28 2018-06-28 获取当前Activity对象的方法、装置、存储介质及移动终端

Publications (2)

Publication Number Publication Date
CN108958849A CN108958849A (zh) 2018-12-07
CN108958849B true CN108958849B (zh) 2022-03-22

Family

ID=64487568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810687525.5A Active CN108958849B (zh) 2018-06-28 2018-06-28 获取当前Activity对象的方法、装置、存储介质及移动终端

Country Status (1)

Country Link
CN (1) CN108958849B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309334B (zh) * 2020-02-18 2023-09-01 北京奇艺世纪科技有限公司 生成软件安装包的方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559035A (zh) * 2013-10-31 2014-02-05 青岛海信移动通信技术股份有限公司 一种应用于Android平台的处理事件的方法和装置
CN103634636A (zh) * 2013-11-13 2014-03-12 Tcl集团股份有限公司 一种Android智能电视的应用快捷操控方法和系统
CN104484176A (zh) * 2014-12-16 2015-04-01 北京奇虎科技有限公司 一种安卓系统窗口对象获取方法和装置
CN105975274A (zh) * 2013-10-31 2016-09-28 青岛海信移动通信技术股份有限公司 一种应用于Android平台的显示窗口的方法和装置
CN107392564A (zh) * 2017-06-21 2017-11-24 安徽森度科技有限公司 一种基于activiti技术的工作流可视化配置平台

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559035A (zh) * 2013-10-31 2014-02-05 青岛海信移动通信技术股份有限公司 一种应用于Android平台的处理事件的方法和装置
CN105975274A (zh) * 2013-10-31 2016-09-28 青岛海信移动通信技术股份有限公司 一种应用于Android平台的显示窗口的方法和装置
CN103634636A (zh) * 2013-11-13 2014-03-12 Tcl集团股份有限公司 一种Android智能电视的应用快捷操控方法和系统
CN104484176A (zh) * 2014-12-16 2015-04-01 北京奇虎科技有限公司 一种安卓系统窗口对象获取方法和装置
CN107392564A (zh) * 2017-06-21 2017-11-24 安徽森度科技有限公司 一种基于activiti技术的工作流可视化配置平台

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Android Tip:Android获取当前Activity对象的方式:;二手认知;《https://www.jianshu.com/p/c8ae87a7777d》;20160629;第1页第1行-第2页倒数第1行 *
android中获取当前Activity的实例和名字;大海方舟;《https://blog.csdn.net/cjyusha/article/details/51274075》;20160428;第1页第1行-第2页倒数第1行 *

Also Published As

Publication number Publication date
CN108958849A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
CN107844342B (zh) 应用程序保活的管控方法、装置及存储介质和移动终端
JP6671394B2 (ja) サードパーティアプリケーションに対するデジタルアシスタント拡張性
WO2018103484A1 (zh) 直播页面的数据处理方法、装置和系统
CN108710515B (zh) 应用预加载方法、装置、存储介质及终端
CN106484547B (zh) 一种多开应用的管理方法、装置及终端
CN106445647B (zh) 多开应用的数据操作方法、装置及移动终端
CN109840418B (zh) 应用程序的跳转控制方法、装置、存储介质及终端
CN107026933B (zh) 一种多开应用的消息管理方法、装置及智能终端
CN108681474B (zh) 应用预加载方法、装置、存储介质及终端
EP3584710B1 (en) Method and apparatus for controlling display of mobile terminal, and storage medium
CN109271211B (zh) 应用程序的分身方法、装置、设备和介质
CN109408465B (zh) 文件归属信息记录方法、装置、存储介质及终端
CN107943270B (zh) 应用服务的控制方法、装置及存储介质和移动终端
CN107844341B (zh) 进程启动的管控方法、装置及存储介质和移动终端
CN106485136A (zh) 应用程序的权限配置方法、装置及移动终端
CN106502732B (zh) 一种应用程序的关闭方法、装置及智能终端
CN106445706B (zh) 多开应用的数据传输方法、装置及移动终端
CN108958849B (zh) 获取当前Activity对象的方法、装置、存储介质及移动终端
CN106648738B (zh) 一种分身应用管理方法、装置及终端
CN114222003A (zh) 服务调用方法、系统、装置、设备及存储介质
CN106648962B (zh) 一种多开应用的管理方法、装置及智能终端
CN106484480A (zh) 一种分身应用的确定方法、装置及终端
CN106648298B (zh) 一种应用的控制方法、装置和移动终端
US10303462B2 (en) Windows support of a pluggable ecosystem for universal windows application stores
WO2019080738A1 (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