CN108829487A - 一种弹窗的展示方法、装置、存储介质及终端 - Google Patents
一种弹窗的展示方法、装置、存储介质及终端 Download PDFInfo
- Publication number
- CN108829487A CN108829487A CN201810687738.8A CN201810687738A CN108829487A CN 108829487 A CN108829487 A CN 108829487A CN 201810687738 A CN201810687738 A CN 201810687738A CN 108829487 A CN108829487 A CN 108829487A
- Authority
- CN
- China
- Prior art keywords
- pop
- page
- activity
- life cycle
- dialog
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种弹窗的展示方法、装置、存储介质及终端,该方法包括:监听应用程序内所有页面组件activity的生命周期;在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载第一弹窗的第一弹窗框体dialog与第一页面activity关联;在展示第一页面activity时,展示第一弹窗。本发明通过监听APP内所有页面activity的生命周期,选择当前处于可见状态的页面activity与待展示的弹窗的dialog进行关联并展示对应的弹窗内容,可实现在APP的任意页面进行弹窗展示,且不会影响APP内原有页面activity的堆栈,提高了APP运行的稳定性。
Description
技术领域
本发明涉及软件开发领域,特别是涉及一种弹窗的展示方法、装置、存储介质及终端。
背景技术
应用程序(APP,Application)是由一个个页面组成的,页面组件activity则是页面的单位或称为页面的容器,每一个页面都是由activity实现组成的,两个页面的跳转也是一个activity跳转到另一个activity。弹窗是一种常用的提示方式,终端通过在屏幕上弹出并展示弹窗向用户进行消息的提示,弹窗通常由弹窗框体dialog进行承载,即dialog是实现弹框的容器。
在进行软件开发的过程中,通常会具有如下需求:存在一个通知的弹窗,要求在APP的内任意的页面都能实现弹出。现有的方案通常将activity作为弹窗的容器,当出发弹窗通知提示时,直接启动这个新的activity作为弹窗页面来显示弹窗通知,以省略在APP每个页面增加获取通知并弹窗的逻辑,但现有的方案会影响APP原有页面activity的页面堆栈,易出现APP运行不稳定的情况。
发明内容
本发明提供一种弹窗的展示方法、装置、存储介质及终端,用以解决现有技术将activity作为弹窗的容器时,影响APP原有页面activity的页面堆栈,易出现APP运行不稳定的问题。
为解决上述技术问题,一方面,本发明提供一种弹窗的展示方法,包括:监听应用程序内所有页面组件activity的生命周期;在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载所述第一弹窗的第一弹窗框体dialog与所述第一页面activity关联;在展示所述第一页面activity时,展示所述第一弹窗。
进一步,所述监听应用程序内所有页面组件activity的生命周期,包括:使用生命周期监听接口监听应用程序内所有页面activity的生命周期。
进一步,所述在展示所述第一页面activity时,展示所述第一弹窗,包括:在所述第一页面activity的上层展示所述第一弹窗dialog,并在所述第一弹窗dialog中展示所述第一弹窗。
进一步,所述展示所述第一弹窗之后,还包括:检测所述第一页面activity的生命周期是否为ondestroy状态;在所述第一页面activity的生命周期为ondestroy状态的情况下,销毁所述第一弹窗dialog。
另一方面,本发明还提供一种弹窗的展示装置,包括:监听模块,用于监听应用程序内所有页面组件activity的生命周期;关联模块,用于在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载所述第一弹窗的第一弹窗框体dialog与所述第一页面activity关联;展示模块,用于在展示所述第一页面activity时,展示所述第一弹窗。
进一步,所述监听模块,具体用于:使用生命周期监听接口监听应用程序内所有页面activity的生命周期。
进一步,所述展示模块,具体用于:在所述第一页面activity的上层展示所述第一弹窗dialog,并在所述第一弹窗dialog中展示所述第一弹窗。
进一步,还包括:检测模块,用于检测所述第一页面activity的生命周期是否为ondestroy状态;销毁模块,用于在所述第一页面activity的生命周期为ondestroy状态的情况下,销毁所述第一弹窗dialog。
另一方面,本发明还提供一种存储介质,存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述的弹窗的展示方法的步骤。
另一方面,本发明还提供一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现上述的弹窗的展示方法的步骤。
本发明通过监听APP内所有页面activity的生命周期,选择当前处于可见状态的页面activity与待展示的弹窗的dialog进行关联并展示对应的弹窗内容,可实现在APP的任意页面进行弹窗展示,且不会影响APP内原有页面activity的堆栈,提高了APP运行的稳定性。
附图说明
图1是本发明第一实施例中弹窗的展示方法的流程图;
图2是本发明第二实施例中弹窗的展示方法的流程图;
图3是本发明第三实施例中弹窗的展示方法的流程图;
图4是本发明第四实施例中弹窗的展示装置的结构示意图;
图5是本发明第六实施例中弹窗的展示装置的结构示意图。
具体实施方式
为了解决现有技术将activity作为弹窗的容器时,影响APP原有页面activity的页面堆栈,易出现APP运行不稳定的问题,本发明提供了一种弹窗的展示方法、装置、存储介质及终端,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明的第一实施例提供了一种弹窗的展示方法,主要应用于具有智能操作系统的移动终端中,其流程图如图1所示,主要包括步骤S101至S103:
S101,监听应用程序内所有页面组件activity的生命周期。
本实施例所基于的智能操作系统通常为安卓Android系统,在使用Android系统的移动终端中,其内部安装的每个APP均由多个页面组成,页面组件activity则是页面的单位或称为页面的容器,每一个页面都是由activity实现组成的。对于每一个页面组件activity,其生命周期的基本固定,主要包括以下状态:
(1)onCreate,表示当前页面Activity正在被创建;
(2)onRestart,表示当前页面Activity正在重新启动;
(3)onStart,表示当前页面Activity正在被启动,并即将可见;
(4)onResume,表示当前页面Activity已经创建完成,并且可以与用户进行交互;
(5)onPause,表示当前页面Activity正在暂停;
(6)onStop,表示当前页面Activity即将停止;
(7)onDestroy,表示当前页面Activity即将被销毁。
通过监听APP内所有页面activity的生命周期,可以实时获取APP中每一个页面当前的状态。具体地,监听APP内所有页面activity的生命周期时,可以通过系统内的生命周期监听接口(API,Application Programming Interface)进行监听。
S102,在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载第一弹窗的第一弹窗框体dialog与第一页面activity关联。
弹窗通知通常是在一定的业务条件下触发的,比如某个时间点服务器下发了一条通知消息,此时就需要弹窗提示用户,或APP出现了一个新版本需要更新,则在用户点击进入该APP显示第一个页面时通过弹窗提示用户。第一弹窗即为具有一定业务条件时当前需要展示的弹窗,其具体的内容通过第一弹窗框体dialog进行承载,即在显示该弹窗时,通过显示第一弹窗dialog来展示第一弹窗的具体内容。
在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity。应当了解的是,在一个App的所有页面activity中,当前处于onstart状态的页面activity有且只有一个,因此在选择生命周期为onstart状态的页面activity时,得到的第一页面activity有且只有一个。随后将第一页面activity与第一弹窗dialog进行关联,保证在第一页面activity进行展示时,其关联的第一弹窗dialog也会随之进行展示。
在实际使用时还可能出现以下情况,在当前业务条件下时同时产生了多个需要进行展示的弹窗,此时可以将上述多个待展示的弹窗dialog均关联到第一页面activity上,并可记录关联时的先后顺序,以便确定弹窗的展示顺序。
S103,在展示第一页面activity时,展示第一弹窗。
在关联弹窗时,第一页面activity的生命周期为onstart状态,即第一页面处于正在被启动并将要展示给用户的状态,随后,在第一页面activity被完全展示时,与其关联的第一弹窗dialog一同进行展示,用户可直观地在APP的第一页面上查看第一弹窗的具体内容。
应当了解的是,APP中的任何一个页面在弹窗产生时都可能处于onstart状态,所以实际上,第一页面activity可以是APP中任何一个页面的activity,也就是说,第一弹窗可以在APP中的任何一个页面上进行展示,并且对于页面activity本身来说,页面activity是无法知晓其自身关联了弹窗dialog的,所以本实施例提出的弹窗展示方法不会影响APP内原有页面activity的堆栈,即APP内不会出现因临时插入activity节点而造成的跳转问题,提高了App运行的稳定性。
在实际使用时,若在当前业务条件下时同时产生了多个需要进行展示的弹窗,则将上述多个待展示的弹窗dialog均关联到第一页面activity上,并根据关联时的先后顺序,进行弹窗的展示。应当了解的是,第一个弹窗在未被关闭时(如用户点击确定或关闭按钮),第二个弹窗无法进行显示,与此同时,用户也无法对第一页面进行操作,直至第一页面关联的所有弹窗均被展示并关闭后,用户才可以与第一页面进行交互。
进一步地,在本实施例中还可以根据被关联的页面activity的类型,实现不同的弹窗逻辑,比如在登录页面可以不进行弹窗、根据不同用户的等级实现不同的弹窗形式等,但上述不同的弹窗逻辑只能在弹窗dialog中实现,根据其关联的不同的页面activity实现不同的展示逻辑。
本发明的第二实施例提供了一种弹窗的展示方法,主要应用于具有智能操作系统的移动终端中,其流程图如图2所示,主要包括步骤S201至S203:
S201,监听应用程序内所有页面组件activity的生命周期。
本实施例所基于的智能操作系统通常为安卓Android系统,在使用Android系统的移动终端中,其内部安装的每个APP均由多个页面组成,页面组件activity则是页面的单位或称为页面的容器,每一个页面都是由activity实现组成的。通过监听APP内所有页面activity的生命周期,可以实时获取APP中每一个页面当前的状态。具体地,监听APP内所有页面activity的生命周期时,可以通过系统内的生命周期监听接口进行监听。
S202,在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载第一弹窗的第一弹窗框体dialog与第一页面activity关联。
弹窗通知通常是在一定的业务条件下触发的,第一弹窗即为具有一定业务条件时当前需要展示的弹窗,其具体的内容通过第一弹窗框体dialog进行承载,即在显示该弹窗时,通过显示第一弹窗dialog来展示第一弹窗的具体内容。
在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity。应当了解的是,在一个App的所有页面activity中,当前处于onstart状态的页面activity有且只有一个,因此在选择生命周期为onstart状态的页面activity时,得到的第一页面activity有且只有一个。随后将第一页面activity与第一弹窗dialog进行关联,保证在第一页面activity进行展示时,其关联的第一弹窗dialog也会随之进行展示。
在实际使用时还可能出现以下情况,在当前业务条件下时同时产生了多个需要进行展示的弹窗,此时可以将上述多个待展示的弹窗dialog均关联到第一页面activity上,并可记录关联时的先后顺序,以便确定弹窗的展示顺序。
S203,在第一页面activity的上层展示第一弹窗dialog,并在第一弹窗dialog中展示第一弹窗。
在关联弹窗时,第一页面activity的生命周期为onstart状态,即第一页面处于正在被启动并将要展示给用户的状态,随后,在第一页面activity被完全展示时,与其关联的第一弹窗dialog一同进行展示,并在第一弹窗dialog中展示第一弹窗的内容。具体地,第一弹窗dialog展示在第一页面activity的上层,即第一弹窗dialog未被用户关闭时,用户是无法对第一页面进行操作的。
应当了解的是,APP中的任何一个页面在弹窗产生时都可能处于onstart状态,所以实际上,第一页面activity可以是APP中任何一个页面的activity,也就是说,第一弹窗可以在APP中的任何一个页面上进行展示,并且对于页面activity本身来说,页面activity是无法知晓其自身关联了弹窗dialog的,所以本实施例提出的弹窗展示方法不会影响APP内原有页面activity的堆栈,即APP内不会出现因临时插入activity节点而造成的跳转问题,提高了App运行的稳定性。
在实际使用时,若在当前业务条件下时同时产生了多个需要进行展示的弹窗,则将上述多个待展示的弹窗dialog均关联到第一页面activity上,并根据关联时的先后顺序,进行弹窗的展示。应当了解的是,第一个弹窗在未被关闭时(如用户点击确定或关闭按钮),第二个弹窗无法进行显示,与此同时,用户也无法对第一页面进行操作,直至第一页面关联的所有弹窗均被展示并关闭后,用户才可以与第一页面进行交互。
进一步地,在本实施例中还可以根据被关联的页面activity的类型,实现不同的弹窗逻辑,比如在登录页面可以不进行弹窗、根据不同用户的等级实现不同的弹窗形式等,但上述不同的弹窗逻辑只能在弹窗dialog中实现,根据其关联的不同的页面activity实现不同的展示逻辑。
本发明的第三实施例提供了一种弹窗的展示方法,主要应用于具有智能操作系统的移动终端中,其流程图如图3所示,主要包括步骤S301至S305:
S301,监听应用程序内所有页面组件activity的生命周期。
本实施例所基于的智能操作系统通常为安卓Android系统,在使用Android系统的移动终端中,其内部安装的每个APP均由多个页面组成,页面组件activity则是页面的单位或称为页面的容器,每一个页面都是由activity实现组成的。通过监听APP内所有页面activity的生命周期,可以实时获取APP中每一个页面当前的状态。具体地,监听APP内所有页面activity的生命周期时,可以通过系统内的生命周期监听接口进行监听。
S302,在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载第一弹窗的第一弹窗框体dialog与第一页面activity关联。
弹窗通知通常是在一定的业务条件下触发的,第一弹窗即为具有一定业务条件时当前需要展示的弹窗,其具体的内容通过第一弹窗框体dialog进行承载,即在显示该弹窗时,通过显示第一弹窗dialog来展示第一弹窗的具体内容。
在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity。应当了解的是,在一个App的所有页面activity中,当前处于onstart状态的页面activity有且只有一个,因此在选择生命周期为onstart状态的页面activity时,得到的第一页面activity有且只有一个。随后将第一页面activity与第一弹窗dialog进行关联,保证在第一页面activity进行展示时,其关联的第一弹窗dialog也会随之进行展示。
S303,在展示第一页面activity时,展示第一弹窗。
在关联弹窗时,第一页面activity的生命周期为onstart状态,即第一页面处于正在被启动并将要展示给用户的状态,随后,在第一页面activity被完全展示时,与其关联的第一弹窗dialog一同进行展示,用户可直观地在APP的第一页面上查看第一弹窗的具体内容。
S304,检测第一页面activity的生命周期是否为ondestroy状态,若是,则执行步骤S305,否则不进行操作。
S305,销毁第一弹窗dialog。
用户从第一页面点击或跳转至其他页面后,第一页面activity的生命周期状态通常会变成onPause、onStop或onDestroy状态,当页面activity的状态变成onDestroy状态时,证明该页面即将被销毁。本实施例所提供的弹窗展示方法不会影响APP内原有页面activity的堆栈,即对于页面activity来说,activity本身是不会知晓其关联了弹窗dialog的,因此,在进行页面activity的销毁时,是无法连同其关联的弹窗dialog一并销毁的,所以,在第一弹窗被展示后,检测第一页面activity的生命周期是否变更为ondestroy状态,并且在第一页面activity的生命周期变更为ondestroy状态的情况下,销毁第一弹窗dialog,使弹窗dialog从产生到销毁过程,均不会影响APP内原有页面activity的堆栈。
进一步,APP中可以存在多个页面,也就是说可能存在以下情况:第二页面activity的生命周期为ondestroy状态,且第二页面activity关联有第二弹窗dialog,第三页面activity的生命周期为onstart状态,且当前存在一个第三弹窗dialog需要与第三页面activity进行关联。此时,在第三弹窗dialog与第三页面activity进行关联的同时,第二页面activity关联的第二弹窗dialog正在被销毁,也就是说,针对不同页面activity,与弹窗dialog的关联过程可以与销毁弹窗dialog的过程同时进行,均不会影响APP内原有页面activity的堆栈。
本发明的第四实施例提供了一种弹窗的展示装置,主要安装于具有智能操作系统的移动终端中,其结构示意图如图4所示,主要包括:监听模块10,用于监听应用程序内所有页面组件activity的生命周期;关联模块20,与监听模块10耦合,用于在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载第一弹窗的第一弹窗框体dialog与第一页面activity关联;展示模块30,与关联模块20耦合,用于在展示第一页面activity时,展示第一弹窗。
本实施例所基于的智能操作系统通常为安卓Android系统,在使用Android系统的移动终端中,其内部安装的每个APP均由多个页面组成,页面组件activity则是页面的单位或称为页面的容器,每一个页面都是由activity实现组成的。对于每一个页面组件activity,其生命周期的基本固定,主要包括以下状态:
(1)onCreate,表示当前页面Activity正在被创建;
(2)onRestart,表示当前页面Activity正在重新启动;
(3)onStart,表示当前页面Activity正在被启动,并即将可见;
(4)onResume,表示当前页面Activity已经创建完成,并且可以与用户进行交互;
(5)onPause,表示当前页面Activity正在暂停;
(6)onStop,表示当前页面Activity即将停止;
(7)onDestroy,表示当前页面Activity即将被销毁。
监听模块10通过监听APP内所有页面activity的生命周期,可以实时获取APP中每一个页面当前的状态。具体地,监听模块10监听APP内所有页面activity的生命周期时,可以通过系统内的生命周期监听接口进行监听。
弹窗通知通常是在一定的业务条件下触发的,比如某个时间点服务器下发了一条通知消息,此时就需要弹窗提示用户,或APP出现了一个新版本需要更新,则在用户点击进入该APP显示第一个页面时通过弹窗提示用户。第一弹窗即为具有一定业务条件时当前需要展示的弹窗,其具体的内容通过第一弹窗框体dialog进行承载,即在显示该弹窗时,通过显示第一弹窗dialog来展示第一弹窗的具体内容。
在存在待展示的第一弹窗时,通过关联模块20选择生命周期为onstart状态的第一页面activity。应当了解的是,在一个App的所有页面activity中,当前处于onstart状态的页面activity有且只有一个,因此在关联模块20选择生命周期为onstart状态的页面activity时,得到的第一页面activity有且只有一个。随后通过关联模块20将第一页面activity与第一弹窗dialog进行关联,保证在第一页面activity进行展示时,其关联的第一弹窗dialog也会随之进行展示。
在关联模块20关联弹窗时,第一页面activity的生命周期为onstart状态,即第一页面处于正在被启动并将要展示给用户的状态,随后,展示模块30在展示第一页面activity时,与其关联的第一弹窗dialog一同进行展示,用户可直观地在APP的第一页面上查看第一弹窗的具体内容。
应当了解的是,APP中的任何一个页面在弹窗产生时都可能处于onstart状态,所以实际上,第一页面activity可以是APP中任何一个页面的activity,也就是说,第一弹窗可以在APP中的任何一个页面上进行展示,并且对于页面activity本身来说,页面activity是无法知晓其自身关联了弹窗dialog的,所以本实施例提出的弹窗展示方法不会影响APP内原有页面activity的堆栈,即APP内不会出现因临时插入activity节点而造成的跳转问题,提高了App运行的稳定性。
在实际使用时,若在当前业务条件下时同时产生了多个需要进行展示的弹窗,关联模块20则将上述多个待展示的弹窗dialog全部关联到第一页面activity上,展示模块30则根据关联时的先后顺序,进行对应的弹窗展示。应当了解的是,第一个弹窗在未被关闭时,第二个弹窗无法进行显示,与此同时,用户也无法对第一页面进行操作,直至第一页面关联的所有弹窗均被展示并关闭后,用户才可以与第一页面进行交互。
进一步地,在本实施例中还可以根据被关联的页面activity的类型,实现不同的弹窗逻辑,比如在登录页面可以不进行弹窗、根据不同用户的等级实现不同的弹窗形式等,但上述不同的弹窗逻辑只能在弹窗dialog中实现,根据其关联的不同的页面activity实现不同的展示逻辑。
本发明的第五实施例提供了一种弹窗的展示装置,主要安装于具有智能操作系统的移动终端中,主要包括:监听模块10,用于监听应用程序内所有页面组件activity的生命周期;关联模块20,与监听模块10耦合,用于在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载第一弹窗的第一弹窗框体dialog与第一页面activity关联;展示模块30,与关联模块20耦合,用于在第一页面activity的上层展示第一弹窗dialog,并在第一弹窗dialog中展示第一弹窗。
本实施例中所涉及的监听模块10与关联模块20的功能与本发明第四实施例相同,在此不再详细赘述。
关联模块20在关联弹窗时,第一页面activity的生命周期为onstart状态,即第一页面处于正在被启动并将要展示给用户的状态,随后,展示模块30在展示第一页面activity时,与其关联的第一弹窗dialog一同进行展示,并在第一弹窗dialog中展示第一弹窗的内容。具体地,第一弹窗dialog展示在第一页面activity的上层,即第一弹窗dialog未被用户关闭时,用户是无法对第一页面进行操作的。
应当了解的是,APP中的任何一个页面在弹窗产生时都可能处于onstart状态,所以实际上,第一页面activity可以是APP中任何一个页面的activity,也就是说,第一弹窗可以在APP中的任何一个页面上进行展示,并且对于页面activity本身来说,页面activity是无法知晓其自身关联了弹窗dialog的,所以本实施例提出的弹窗展示方法不会影响APP内原有页面activity的堆栈,即APP内不会出现因临时插入activity节点而造成的跳转问题,提高了App运行的稳定性。
本发明的第六实施例提供了一种弹窗的展示装置,主要安装于具有智能操作系统的移动终端中,其结构示意图如图5所示,主要包括:监听模块10,用于监听应用程序内所有页面组件activity的生命周期;关联模块20,与监听模块10耦合,用于在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载第一弹窗的第一弹窗框体dialog与第一页面activity关联;展示模块30,与关联模块20耦合,用于在展示第一页面activity时,展示第一弹窗;检测模块40,与展示模块30耦合,用于检测第一页面activity的生命周期是否为ondestroy状态;销毁模块50,与检测模块40耦合,用于在第一页面activity的生命周期为ondestroy状态的情况下,销毁第一弹窗dialog。
本实施例中所涉及的监听模块10、关联模块20以及展示模块30的功能与本发明第四实施例相同,在此不再详细赘述。
用户从第一页面点击或跳转至其他页面后,第一页面activity的生命周期状态通常会变成onPause、onStop或onDestroy状态,当页面activity的状态变成onDestroy状态时,证明该页面即将被销毁。在本实施例中,进行弹窗的展示不会影响APP内原有页面activity的堆栈,即对于页面activity来说,activity本身是不会知晓其关联了弹窗dialog的,因此,在进行页面activity的销毁时,是无法连同其关联的弹窗dialog一并销毁的,所以,在第一弹窗被展示后,通过检测模块40检测第一页面activity的生命周期是否变更为ondestroy状态,并且在第一页面activity的生命周期变更为ondestroy状态的情况下,通过销毁模块50单独销毁第一弹窗dialog,使弹窗dialog从产生到销毁过程,均不会影响APP内原有页面activity的堆栈。
进一步,APP中可以存在多个页面,也就是说可能存在以下情况:第二页面activity的生命周期为ondestroy状态,且第二页面activity关联有第二弹窗dialog,第三页面activity的生命周期为onstart状态,且当前存在一个第三弹窗dialog需要与第三页面activity进行关联。此时,关联模块20在为第三弹窗dialog与第三页面activity进行关联的同时,销毁模块50正在销毁与第二页面activity关联的第二弹窗dialog,也就是说,关联模块20和销毁模块50是可以同时运行的,针对不同页面activity,与弹窗dialog的关联过程可以与销毁弹窗dialog的过程同时进行,均不会影响APP内原有页面activity的堆栈。
本发明第七实施例提供了一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现如下步骤S11至S13:
S11,监听应用程序内所有页面组件activity的生命周期;
S12,在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载第一弹窗的第一弹窗框体dialog与第一页面activity关联;
S13,在展示第一页面activity时,展示第一弹窗。
在本实施例中,存储介质可以安装在具有智能操作系统的移动终端上。由于在第一实施例中已经对弹窗的展示方法进行了详细说明,因此,在本实施例中不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本发明的第八实施例提供了一种终端,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现如下步骤S21至S23:
S21,监听应用程序内所有页面组件activity的生命周期;
S22,在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载第一弹窗的第一弹窗框体dialog与第一页面activity关联;
S23,在展示第一页面activity时,展示第一弹窗。
在本实施例中,终端可以为用户使用的如手机、平板电脑等具有智能操作系统的移动终端。由于在第一实施例中已经对弹窗的展示方法进行了详细说明,因此,在本实施例中不再赘述。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (10)
1.一种弹窗的展示方法,其特征在于,包括:
监听应用程序内所有页面组件activity的生命周期;
在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载所述第一弹窗的第一弹窗框体dialog与所述第一页面activity关联;
在展示所述第一页面activity时,展示所述第一弹窗。
2.如权利要求1所述的展示方法,其特征在于,所述监听应用程序内所有页面组件activity的生命周期,包括:
使用生命周期监听接口监听应用程序内所有页面activity的生命周期。
3.如权利要求1所述的展示方法,其特征在于,所述在展示所述第一页面activity时,展示所述第一弹窗,包括:
在所述第一页面activity的上层展示所述第一弹窗dialog,并在所述第一弹窗dialog中展示所述第一弹窗。
4.如权利要求1至3中任一项所述的展示方法,其特征在于,所述展示所述第一弹窗之后,还包括:
检测所述第一页面activity的生命周期是否为ondestroy状态;
在所述第一页面activity的生命周期为ondestroy状态的情况下,销毁所述第一弹窗dialog。
5.一种弹窗的展示装置,其特征在于,包括:
监听模块,用于监听应用程序内所有页面组件activity的生命周期;
关联模块,用于在存在待展示的第一弹窗时,选择生命周期为onstart状态的第一页面activity,并将承载所述第一弹窗的第一弹窗框体dialog与所述第一页面activity关联;
展示模块,用于在展示所述第一页面activity时,展示所述第一弹窗。
6.如权利要求5所述的展示装置,其特征在于,所述监听模块,具体用于:
使用生命周期监听接口监听应用程序内所有页面activity的生命周期。
7.如权利要求5所述的展示装置,其特征在于,所述展示模块,具体用于:
在所述第一页面activity的上层展示所述第一弹窗dialog,并在所述第一弹窗dialog中展示所述第一弹窗。
8.如权利要求5至7中任一项所述的展示装置,其特征在于,还包括:
检测模块,用于检测所述第一页面activity的生命周期是否为ondestroy状态;
销毁模块,用于在所述第一页面activity的生命周期为ondestroy状态的情况下,销毁所述第一弹窗dialog。
9.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的弹窗的展示方法的步骤。
10.一种移动终端,至少包括存储器、处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器在执行所述存储器上的计算机程序时实现权利要求1至4中任一项所述的弹窗的展示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810687738.8A CN108829487B (zh) | 2018-06-28 | 2018-06-28 | 一种弹窗的展示方法、装置、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810687738.8A CN108829487B (zh) | 2018-06-28 | 2018-06-28 | 一种弹窗的展示方法、装置、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108829487A true CN108829487A (zh) | 2018-11-16 |
CN108829487B CN108829487B (zh) | 2022-07-29 |
Family
ID=64133471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810687738.8A Active CN108829487B (zh) | 2018-06-28 | 2018-06-28 | 一种弹窗的展示方法、装置、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108829487B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866247A (zh) * | 2018-11-23 | 2020-03-06 | 北京安天网络安全技术有限公司 | 一种安全防御方法、装置、电子设备及存储介质 |
CN111145747A (zh) * | 2019-12-30 | 2020-05-12 | 智车优行科技(北京)有限公司 | 一种语音控制实现方法及装置 |
CN111399928A (zh) * | 2018-12-14 | 2020-07-10 | 北京奇虎科技有限公司 | 应用程序的启动方法、装置、电子设备及可读存储介质 |
CN111857938A (zh) * | 2020-08-05 | 2020-10-30 | 广州繁星互娱信息科技有限公司 | 弹窗视图的管理方法、装置、终端及存储介质 |
CN112230924A (zh) * | 2020-11-09 | 2021-01-15 | 平安普惠企业管理有限公司 | 弹框提示方法、装置、计算机设备及存储介质 |
CN112463520A (zh) * | 2020-11-05 | 2021-03-09 | 广州博恒信息科技有限责任公司 | 基于Flutter的页面全生命周期统计方法、设备及存储介质 |
CN112527436A (zh) * | 2020-12-14 | 2021-03-19 | 五八有限公司 | 弹窗显示方法、装置、电子设备和计算机可读介质 |
CN112527424A (zh) * | 2019-09-19 | 2021-03-19 | 北京国双科技有限公司 | 用于弹窗的控制方法及装置 |
CN113722035A (zh) * | 2021-08-31 | 2021-11-30 | 平安消费金融有限公司 | 弹框任务管理及弹框展示方法、装置、设备和存储介质 |
CN115794074A (zh) * | 2023-01-06 | 2023-03-14 | 北京中科网威信息技术有限公司 | 弹窗创建方法及系统 |
CN116150794A (zh) * | 2023-04-14 | 2023-05-23 | 深圳依时货拉拉科技有限公司 | 权限处理方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070055751A1 (en) * | 2005-02-28 | 2007-03-08 | Microsoft Corporation | Dynamic configuration of unified messaging state changes |
CN104144357A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 视频播放方法和系统 |
CN105704576A (zh) * | 2015-04-27 | 2016-06-22 | 深圳Tcl数字技术有限公司 | 一种页面显示方法及装置 |
CN106250137A (zh) * | 2014-03-31 | 2016-12-21 | 青岛海信移动通信技术股份有限公司 | 一种应用于Android平台的处理事件的方法和装置 |
CN106547541A (zh) * | 2016-10-12 | 2017-03-29 | 北京奇虎科技有限公司 | 统计应用页面展示时长的方法、装置和加固安装包的装置 |
CN106681746A (zh) * | 2015-11-09 | 2017-05-17 | 五八同城信息技术有限公司 | 移动应用程序弹窗展示方法、移动终端及系统 |
CN107203369A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 基于Android的弹框提示方法及装置 |
CN107797833A (zh) * | 2016-08-29 | 2018-03-13 | 北京雪球信息科技有限公司 | 智能设备上应用程序的界面显示方法 |
CN108205458A (zh) * | 2018-01-02 | 2018-06-26 | 武汉斗鱼网络科技有限公司 | 会话框实现方法、装置及可读存储介质 |
-
2018
- 2018-06-28 CN CN201810687738.8A patent/CN108829487B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070055751A1 (en) * | 2005-02-28 | 2007-03-08 | Microsoft Corporation | Dynamic configuration of unified messaging state changes |
CN104144357A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 视频播放方法和系统 |
CN106250137A (zh) * | 2014-03-31 | 2016-12-21 | 青岛海信移动通信技术股份有限公司 | 一种应用于Android平台的处理事件的方法和装置 |
CN105704576A (zh) * | 2015-04-27 | 2016-06-22 | 深圳Tcl数字技术有限公司 | 一种页面显示方法及装置 |
CN106681746A (zh) * | 2015-11-09 | 2017-05-17 | 五八同城信息技术有限公司 | 移动应用程序弹窗展示方法、移动终端及系统 |
CN107203369A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 基于Android的弹框提示方法及装置 |
CN107797833A (zh) * | 2016-08-29 | 2018-03-13 | 北京雪球信息科技有限公司 | 智能设备上应用程序的界面显示方法 |
CN106547541A (zh) * | 2016-10-12 | 2017-03-29 | 北京奇虎科技有限公司 | 统计应用页面展示时长的方法、装置和加固安装包的装置 |
CN108205458A (zh) * | 2018-01-02 | 2018-06-26 | 武汉斗鱼网络科技有限公司 | 会话框实现方法、装置及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
安诺爱成长: "android实现弹窗的方式汇总", 《HTTPS://ANACZ.BLOG.CSDN.NET/ARTICLE/DETAILS/51566639?IVK_SA=1024320U》 * |
秦寅威: "基于Android手机群删联系人模块的设计与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866247A (zh) * | 2018-11-23 | 2020-03-06 | 北京安天网络安全技术有限公司 | 一种安全防御方法、装置、电子设备及存储介质 |
CN110866247B (zh) * | 2018-11-23 | 2022-03-11 | 北京安天网络安全技术有限公司 | 一种安全防御方法、装置、电子设备及存储介质 |
CN111399928A (zh) * | 2018-12-14 | 2020-07-10 | 北京奇虎科技有限公司 | 应用程序的启动方法、装置、电子设备及可读存储介质 |
CN112527424A (zh) * | 2019-09-19 | 2021-03-19 | 北京国双科技有限公司 | 用于弹窗的控制方法及装置 |
CN111145747A (zh) * | 2019-12-30 | 2020-05-12 | 智车优行科技(北京)有限公司 | 一种语音控制实现方法及装置 |
CN111857938A (zh) * | 2020-08-05 | 2020-10-30 | 广州繁星互娱信息科技有限公司 | 弹窗视图的管理方法、装置、终端及存储介质 |
CN112463520A (zh) * | 2020-11-05 | 2021-03-09 | 广州博恒信息科技有限责任公司 | 基于Flutter的页面全生命周期统计方法、设备及存储介质 |
CN112230924A (zh) * | 2020-11-09 | 2021-01-15 | 平安普惠企业管理有限公司 | 弹框提示方法、装置、计算机设备及存储介质 |
CN112527436A (zh) * | 2020-12-14 | 2021-03-19 | 五八有限公司 | 弹窗显示方法、装置、电子设备和计算机可读介质 |
CN113722035A (zh) * | 2021-08-31 | 2021-11-30 | 平安消费金融有限公司 | 弹框任务管理及弹框展示方法、装置、设备和存储介质 |
CN113722035B (zh) * | 2021-08-31 | 2023-08-22 | 平安消费金融有限公司 | 弹框任务管理及弹框展示方法、装置、设备和存储介质 |
CN115794074A (zh) * | 2023-01-06 | 2023-03-14 | 北京中科网威信息技术有限公司 | 弹窗创建方法及系统 |
CN116150794A (zh) * | 2023-04-14 | 2023-05-23 | 深圳依时货拉拉科技有限公司 | 权限处理方法、装置、电子设备及存储介质 |
CN116150794B (zh) * | 2023-04-14 | 2023-07-04 | 深圳依时货拉拉科技有限公司 | 权限处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108829487B (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108829487A (zh) | 一种弹窗的展示方法、装置、存储介质及终端 | |
CN109445869B (zh) | 一种跨云适配的微服务管理方法、装置和存储介质 | |
CN107562556B (zh) | 故障的恢复方法、恢复装置及存储介质 | |
US9417865B2 (en) | Determining when to update a package manager software | |
US9183072B1 (en) | Error troubleshooting using a correlated knowledge base | |
CN107045475B (zh) | 测试方法和装置 | |
CN109388622B (zh) | 一种日志信息处理方法、装置、设备及可读存储介质 | |
CN109408262B (zh) | 一种业务数据处理方法及相关设备 | |
WO2017049893A1 (zh) | 一种应用程序的测试方法、测试装置及移动终端 | |
CN104360925A (zh) | 统计应用程序使用频率的方法及装置 | |
CN105094791A (zh) | 状态栏通知的存储方法及装置 | |
CN104346279A (zh) | 一种软件测试方法及装置 | |
CN106547541A (zh) | 统计应用页面展示时长的方法、装置和加固安装包的装置 | |
CN110908674A (zh) | 应用程序的自动化部署方法及装置 | |
WO2015131643A1 (zh) | 软件检测方法及装置 | |
US20180300199A1 (en) | System and method for maintaining the health of a machine | |
CN110502399B (zh) | 故障检测方法及装置 | |
CN104915593B (zh) | 对软件的去捆绑处理方法及系统 | |
CN112214413A (zh) | 一种应用程序的测试方法、装置、设备及存储介质 | |
CN115599645B (zh) | 一种linux驱动模块稳定性测试方法及装置 | |
US20120272103A1 (en) | Software operability service | |
US11630714B2 (en) | Automated crash recovery | |
CN110048940A (zh) | 即时通信消息的发送方法、装置、服务器及可读存储介质 | |
CN112596750B (zh) | 应用测试方法、装置、电子设备及计算机可读存储介质 | |
JP6497278B2 (ja) | ログ管理プログラム、ログ管理方法およびログ管理装置 |
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 |