CN104375888A - 基于Android系统的由通知栏调用后台任务的方法 - Google Patents
基于Android系统的由通知栏调用后台任务的方法 Download PDFInfo
- Publication number
- CN104375888A CN104375888A CN201410433052.8A CN201410433052A CN104375888A CN 104375888 A CN104375888 A CN 104375888A CN 201410433052 A CN201410433052 A CN 201410433052A CN 104375888 A CN104375888 A CN 104375888A
- Authority
- CN
- China
- Prior art keywords
- task
- background task
- activity
- informing
- application
- 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
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明所提供的一种基于Android系统的由通知栏调用后台任务的方法,包括步骤:A、当通知栏中的后台任务通知被用户触选时,创建一由通知栏启动的应用程序组件;B、通过所创建的所述应用程序组件启动被用户所触选的所述后台任务,使所述后台任务切换至前台显示;C、关闭所创建的所述应用程序组件。由上,实现软件所在任务从后台至前台的跳转,且不间断运行,从而避免由通知栏启动监控软件时,监控软件的主界面程序组件重新被创建的问题。
Description
技术领域
本发明涉及智能终端任务管理技术领域,特别涉及一种基于Android系统的由通知栏调用后台任务的方法。
背景技术
目前很多电子终端上都安装有多任务系统,也就是说可以同时运行多个应用程序,例如Android系统。一般来说,启动运行一个应用是有一定的时间开销的,因此为了加快运行速度,当通过例如Android系统的home键切换应用时,之前前台的应用并没有真正退出,而是切换到了后台,即该应用对应的任务(Task)及其活动组件(Activity)处于后台停止状态(Stopped),当该应用下次再切换回前台时,其Activity组件转为Active/Running状态,从而对应的应用可以很快的使用。
在设计实现Android系统的手机的监控类应用时,这些监控类应用的主界面经常需要实时显示监控目标的变化、趋势、统计等动态数据。在应用首次启动时,要进行模块的初始化、服务注册启动和/或数据结构实例化等重要操作。当监控类应用启动后,如果出现前后台切换的情况(例如将另一应用切换至前台而使得监控软件切换至后台),应使监控类应用从后台切换回前台时,须保证监控目标数据的不间断显示、同时应避免重新进行模块初始化或服务注册等操作,以避免之前监控的动态数据丢失。
目前,当某监控类应用处于后台(其Activity处于stopped状态)时,如果是从桌面应用程序列表(Launcher)中启动该应用(例如Launcher该应用的图标被用户点击),Android系统会将该应用的Task对应的Activity转为Active/Running状态,即将该应用切换到前台。
但是当该监控类应用处于后台(其Activity处于stopped状态)时,如果从通知栏(Notification)启动(例如下拉通知栏中该应用的通知被用户点击),就会出现监控目标数据间断和重复初始化模块、重新注册服务的问题。
该问题的根源是由应用通知创建时决定的,根据Android应用发送通知的要求,通知对应的Intent须设置FLAG_ACTIVITY_NEW_TASK标记(flag)。上述flag如果设置,则通知中的活动组件Activity会被重新创建,而不会显示之前切换到后台的Activity实例,即,当用户用手点击通知栏时,此时匹配到后台任务,并把此任务切换到前台,然后在任务中重新创建应用程序组件,导致之前监控的动态数据丢失,同时重新进行了模块初始化或服务注册等操作。
发明内容
有鉴于此,本发明的主要目的在于,提供一种基于Android系统的由通知栏调用后台任务的方法,可实现软件所在任务从后台至前台的跳转,且不间断运行,从而避免由通知栏启动监控软件时,监控软件的主界面程序组件重新被创建的问题。
所述Android系统的由通知栏调用后台任务的方法包括步骤:
A、当通知栏中的后台任务被用户触选时,创建一由通知栏启动的应用程序组件;
B、通过所创建的所述应用程序组件启动被用户所触选的所述后台任务,使所述后台任务切换至前台显示;
C、关闭所创建的所述应用程序组件。
由上,实现软件所在任务从后台至前台的跳转,且不间断运行,从而避免由通知栏启动监控软件时,监控软件的主界面程序组件重新被创建的问题。
可选的,所述创建的所述应用程序组件的启动模式定义为singleInstance模式。
可选的,步骤B中,通过所创建的所述应用程序组件启动被用户所触选的所述后台任务采用onCreate()函数。
可选的,所述创建的所述应用程序组件的主题设置为透明。
由上,由于所创建的应用程序组件在视觉上无意义,为用户有更好的视觉体验,将其主题设置为透明。
所述后台任务为一监控软件应用任务。
附图说明
图1为基于Android系统的由通知栏调用后台任务的方法的流程图;
图2为任务切换示意图。
具体实施方式
下面对本发明所提供的基于Android系统的由通知栏调用后台任务的方法进行描述,以所述后台任务为监控软件为例进行说明。针对通知栏启动监控软件,可实现软件所在任务从后台至前台的跳转,且不间断运行,从而避免由通知栏启动监控软件时,监控软件的主界面程序组件重新被创建的问题。
如图1所示为基于Android系统的通知栏启动监控软件方法的流程图,其中,本发明的前提是所述监控软件被切换至后台运行,本实施例中,智能终端可以为手机或平板电脑等,具体的,包括以下步骤:
步骤S10:通知栏被触发,并且通知栏中的所述监控软件通知被用户触选时,执行下一步。
步骤S20:创建一由通知栏启动的应用程序组件(Activity)。包括:
定义所创建的Activity的启动模式,本实施例中,将所创建的Activity添加至一新的Task当中,将Activity的启动模式定义为“singleInstance”,所建立的Activity作为新Task的唯一堆栈元素。
进一步的,将所建立Activity的主题设置为透明,即声明theme 为Translucent。
具体的,在配置文件AndroidManifest.xml中声明所述的Activity的代码如下:
launchMode:singleInstance//声明创建Activity的启动模式;
theme:Translucent//声明所创建Activity的主题为透明;
步骤S30:通过所创建的所述Activity启动后台运行的所述监控软件。
在所创建的Activity的函数中,调用onCreate()函数启动后台运行的所述监控软件,以使所述监控软件的运行界面在前台显示。
步骤S40:结束所创建的所述Activity。
所述步骤S30和步骤S40采用如下代码实现:
Override
protected void onCreate(Bundle savedInstanceState)//在Activity创建时被系统调用;
{
//TODO Auto-generated method stub
super.onCreate(savedInstanceState);//完成onCreate的初始化创建等工作;
startActivity(new Intent(this,MonitorMainAct.class));//启动监控软件,使后台监控软件的主界面Activity状态由stopped状态转为Active/Running状态,将要在前台显示的监控软件的Activity为:由上述创建的Activity跳转至由通知栏所选择的监控软件;
finish();//此为步骤S40所对应的代码,结束Activity自身,由于启动模式为singleInstance,因此Activity所在的Task也被销毁,此时步骤S20所创建的Activity由Active/Running状态转为Killed状态。
}
当监控软件被启动后,其执行onResume()函数,后台存在的监控软件界面对应的Activity转为Active/Running状态,自动切换到前台。
需要补充说明的是,将所建立的Activity的启动模式定义为 “singleInstance”模式或将应用主界面的Activity启动模式定义为“singleTask”模式,即声明launchMode为singleInstance,或声明launchMode为singleTask,都可以实现软件的不间断运行,从而避免监控软件的主界面程序组件重新被创建的问题。
但所述“singleTask”模式与“singleInstance”模式的区别在于,“singleInstance”模式中,所建立的新任务仅包含该Activity组件;而“singleTask”模式中,监控应用主界面的Activity在任务中并非总处于最上层,在其上层若还存在其他Activity,则Task切换到前台后会销毁其上部的所有Activity,使自身处于Task的顶部,“singleInstance”模式时,用户从通知栏点击启动应用软件时,智能终端所反映的行为和由桌面应用程序列表启动完全一致;“singleTask”模式时,声明为singleTask的应用主界面上部的Activity堆栈信息被销毁,与从桌面应用程序列表启动后台应用的行为不一致,用户体验不够好。
因此,优选的,将所创建的Activity的启动模式定义为“singleInstance”模式。
通过上述步骤,使得通过由通知栏启动运行于后台的应用程序时,无需如首次启动应用程序时重复的初始化以及注册服务等操作,使其与后台的应用程序进行关联。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明。总之,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于Android系统的由通知栏调用后台任务的方法,其特征在于,包括步骤:
A、当通知栏中的后台任务通知被用户触选时,创建一由通知栏启动的应用程序组件;
B、通过所创建的所述应用程序组件启动被用户所触选的所述后台任务,使所述后台任务切换至前台显示;
C、关闭所创建的所述应用程序组件。
2.根据权利要求1所述的方法,其特征在于,创建的所述应用程序组件的启动模式定义为singleInstance模式。
3.根据权利要求1或2所述的方法,其特征在于,创建的所述应用程序组件的主题设置为透明。
4.根据权利要求1所述的方法,其特征在于,步骤B中,通过所创建的所述应用程序组件启动被用户所触选的所述后台任务采用onCreate()函数。
5.根据权利要求3所述的方法,其特征在于,所述后台任务为一监控软件应用任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410433052.8A CN104375888B (zh) | 2014-08-28 | 2014-08-28 | 基于Android系统的由通知栏调用后台任务的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410433052.8A CN104375888B (zh) | 2014-08-28 | 2014-08-28 | 基于Android系统的由通知栏调用后台任务的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104375888A true CN104375888A (zh) | 2015-02-25 |
CN104375888B CN104375888B (zh) | 2017-11-03 |
Family
ID=52554826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410433052.8A Active CN104375888B (zh) | 2014-08-28 | 2014-08-28 | 基于Android系统的由通知栏调用后台任务的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104375888B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159823A (zh) * | 2015-08-07 | 2015-12-16 | 北京元心科技有限公司 | 应用程序的存活状态管理方法以及智能终端 |
CN106648861A (zh) * | 2016-12-05 | 2017-05-10 | 广州优视网络科技有限公司 | 后台服务进程的保活方法及装置 |
CN106778248A (zh) * | 2016-12-26 | 2017-05-31 | 北京奇虎科技有限公司 | 应用程序Activity启动的方法和装置 |
CN108536512A (zh) * | 2018-04-17 | 2018-09-14 | Oppo广东移动通信有限公司 | 界面切换方法、装置及终端设备 |
CN110618836A (zh) * | 2019-09-11 | 2019-12-27 | 广东博力威科技股份有限公司 | 一种后台运行、定时刷新手机应用软件数据的方法 |
CN115174504A (zh) * | 2022-06-07 | 2022-10-11 | 青岛海信移动通信技术股份有限公司 | 一种界面显示方法、终端设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425432A (zh) * | 2013-08-13 | 2013-12-04 | Tcl通讯(宁波)有限公司 | Lcd快速响应方法及移动终端 |
CN103902363A (zh) * | 2012-12-18 | 2014-07-02 | 上海鼎为电子科技(集团)有限公司 | 一种支持多任务切换的电子装置和切换方法 |
-
2014
- 2014-08-28 CN CN201410433052.8A patent/CN104375888B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902363A (zh) * | 2012-12-18 | 2014-07-02 | 上海鼎为电子科技(集团)有限公司 | 一种支持多任务切换的电子装置和切换方法 |
CN103425432A (zh) * | 2013-08-13 | 2013-12-04 | Tcl通讯(宁波)有限公司 | Lcd快速响应方法及移动终端 |
Non-Patent Citations (1)
Title |
---|
HEALTHEON: "Android实现程序前后台切换效果", 《HTTP://WWW.CNBLOGS.COM/HANYONGLU/ARCHIVE/2012/04/15/2450551.HTML#!COMMENTS》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159823A (zh) * | 2015-08-07 | 2015-12-16 | 北京元心科技有限公司 | 应用程序的存活状态管理方法以及智能终端 |
CN106648861A (zh) * | 2016-12-05 | 2017-05-10 | 广州优视网络科技有限公司 | 后台服务进程的保活方法及装置 |
CN106648861B (zh) * | 2016-12-05 | 2020-07-14 | 阿里巴巴(中国)有限公司 | 后台服务进程的保活方法及装置 |
CN106778248A (zh) * | 2016-12-26 | 2017-05-31 | 北京奇虎科技有限公司 | 应用程序Activity启动的方法和装置 |
CN106778248B (zh) * | 2016-12-26 | 2020-07-14 | 北京奇虎科技有限公司 | 应用程序Activity启动的方法和装置 |
CN108536512A (zh) * | 2018-04-17 | 2018-09-14 | Oppo广东移动通信有限公司 | 界面切换方法、装置及终端设备 |
CN108536512B (zh) * | 2018-04-17 | 2021-03-26 | Oppo广东移动通信有限公司 | 界面切换方法、装置及终端设备 |
CN110618836A (zh) * | 2019-09-11 | 2019-12-27 | 广东博力威科技股份有限公司 | 一种后台运行、定时刷新手机应用软件数据的方法 |
CN115174504A (zh) * | 2022-06-07 | 2022-10-11 | 青岛海信移动通信技术股份有限公司 | 一种界面显示方法、终端设备和存储介质 |
CN115174504B (zh) * | 2022-06-07 | 2024-03-15 | 青岛海信移动通信技术股份有限公司 | 一种界面显示方法、终端设备和存储介质 |
CN115174504B8 (zh) * | 2022-06-07 | 2024-04-05 | 青岛海信移动通信技术有限公司 | 一种界面显示方法、终端设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104375888B (zh) | 2017-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104375888A (zh) | 基于Android系统的由通知栏调用后台任务的方法 | |
CN110020323B (zh) | 混合应用的页面切换方法、系统、计算机设备及存储介质 | |
CN102880401B (zh) | 一种简化用户界面按键的方法和移动终端 | |
WO2017101663A1 (zh) | 应用的引导方法及装置、终端 | |
US10739956B2 (en) | Information processing method, terminal, server, and computer storage medium | |
CN102841732A (zh) | 一种终端上任务管理的方法及装置 | |
CN111045901A (zh) | 容器的监控方法、装置、存储介质和电子设备 | |
CN112130937A (zh) | 页面显示方法与装置、存储介质、电子设备 | |
JP2012093842A (ja) | 電源装置およびプログラム | |
CN104239131B (zh) | 一种关闭应用程序的方法及装置 | |
CN105117265B (zh) | 一种文件升级的方法、装置和终端 | |
CN105335044A (zh) | 分屏模式下的窗口显示处理方法及电子设备 | |
JP5585721B2 (ja) | 情報装置、画面切替え方法、及び画面切替えプログラム | |
CN102520856A (zh) | 图标功能组合方法及装置 | |
CN103019840B (zh) | 用于设置桌面的方法和装置 | |
CN101650647A (zh) | 一种efi平台的兼容方法 | |
CN104951348B (zh) | 一种可中断的recovery升级方法及装置 | |
CN110989820A (zh) | 处理器功耗的控制方法、装置、处理器及电子装置 | |
CN104461479A (zh) | 定时的方法及装置 | |
CN112711474B (zh) | 定时器管理方法、装置及电子设备 | |
WO2016141635A1 (zh) | 多系统终端的应用程序安装方法、装置及终端 | |
JP5102528B2 (ja) | 情報処理装置及び制御方法 | |
CN105511733A (zh) | 通过压力触控调整多任务排列顺序的方法、系统和电子设备 | |
CN112269502A (zh) | 对象显示方法和装置 | |
CN104714626A (zh) | 一种信息处理方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 101-105, floor 1, Chuangda building, No. 9, Qinghua East Road, Haidian District, Beijing 100083 (Dongsheng District) Patentee after: Thunder Software Technology Co., Ltd. Address before: 100191 Beijing Haidian District Lung Cheung Road No. 1 Tai Xiang 4 storey commercial building Patentee before: Thunder Software Technology Co., Ltd. |