基于Android系统的由通知栏调用后台任务的方法技术方案

技术编号:11079703 阅读:97 留言:0更新日期:2015-02-25 18:01
本发明专利技术所提供的一种基于Android系统的由通知栏调用后台任务的方法,包括步骤:A、当通知栏中的后台任务通知被用户触选时,创建一由通知栏启动的应用程序组件;B、通过所创建的所述应用程序组件启动被用户所触选的所述后台任务,使所述后台任务切换至前台显示;C、关闭所创建的所述应用程序组件。由上,实现软件所在任务从后台至前台的跳转,且不间断运行,从而避免由通知栏启动监控软件时,监控软件的主界面程序组件重新被创建的问题。

【技术实现步骤摘要】

本专利技术涉及智能终端任务管理
,特别涉及一种。
技术介绍
目前很多电子终端上都安装有多任务系统,也就是说可以同时运行多个应用程序,例如Android系统。一般来说,启动运行一个应用是有一定的时间开销的,因此为了加快运行速度,当通过例如Android系统的home键切换应用时,之前前台的应用并没有真正退出,而是切换到了后台,即该应用对应的任务(Task)及其活动组件(Activity)处于后台停止状态(Stopped),当该应用下次再切换回前台时,其Activity组件转为Active/Running状态,从而对应的应用可以很快的使用。 在设计实现Android系统的手机的监控类应用时,这些监控类应用的主界面经常需要实时显示监控目标的变化、趋势、统计等动态数据。在应用首次启动时,要进行模块的初始化、服务注册启动和/或数据结构实例化等重要操作。当监控类应用启动后,如果出现前后台切换的情况(例如将另一应用切换至前台而使得监控软件切换至后台),应使监控类应用从后台切换回前台时,须保证监控目标数据的不间断显示、同时应避免重新进行模块初始化或服务注册等操作,以避免之前监控的动态数据丢失。 目前,当某监控类应用处于后台(其Activity处于stopped状态)时,如果是从桌面应用程序列表(Launcher)中启动该应用(例如Launcher该应用的图标被用户点击),Android系统会将该应用的Task对应的Activity转为Active/Running状态,即将该应用切换到前台。 但是当该监控类应用处于后台(其Activity处于stopped状态)时,如果从通知栏(Notificat1n)启动(例如下拉通知栏中该应用的通知被用户点击),就会出现监控目标数据间断和重复初始化模块、重新注册服务的问题。 该问题的根源是由应用通知创建时决定的,根据Android应用发送通知的要求,通知对应的Intent须设置FLAG_ACTIVITY_NEW_TASK标记(flag)。上述flag如果设置,则通知中的活动组件Activity会被重新创建,而不会显示之前切换到后台的Activity实例,即,当用户用手点击通知栏时,此时匹配到后台任务,并把此任务切换到前台,然后在任务中重新创建应用程序组件,导致之前监控的动态数据丢失,同时重新进行了模块初始化或服务注册等操作。
技术实现思路
有鉴于此,本专利技术的主要目的在于,提供一种,可实现软件所在任务从后台至前台的跳转,且不间断运行,从而避免由通知栏启动监控软件时,监控软件的主界面程序组件重新被创建的问题。 所述Android系统的由通知栏调用后台任务的方法包括步骤: A、当通知栏中的后台任务被用户触选时,创建一由通知栏启动的应用程序组件; B、通过所创建的所述应用程序组件启动被用户所触选的所述后台任务,使所述后台任务切换至前台显示; C、关闭所创建的所述应用程序组件。 由上,实现软件所在任务从后台至前台的跳转,且不间断运行,从而避免由通知栏启动监控软件时,监控软件的主界面程序组件重新被创建的问题。 可选的,所述创建的所述应用程序组件的启动模式定义为singlelnstance模式。 可选的,步骤B中,通过所创建的所述应用程序组件启动被用户所触选的所述后台任务采用onCreateO函数。 可选的,所述创建的所述应用程序组件的主题设置为透明。 由上,由于所创建的应用程序组件在视觉上无意义,为用户有更好的视觉体验,将其主题设置为透明。 所述后台任务为一监控软件应用任务。 【附图说明】 图1为的流程图; 图2为任务切换示意图。 【具体实施方式】 下面对本专利技术所提供的进行描述,以所述后台任务为监控软件为例进行说明。针对通知栏启动监控软件,可实现软件所在任务从后台至前台的跳转,且不间断运行,从而避免由通知栏启动监控软件时,监控软件的主界面程序组件重新被创建的问题。 如图1所示为基于Android系统的通知栏启动监控软件方法的流程图,其中,本专利技术的前提是所述监控软件被切换至后台运行,本实施例中,智能终端可以为手机或平板电脑等,具体的,包括以下步骤: 步骤SlO:通知栏被触发,并且通知栏中的所述监控软件通知被用户触选时,执行下一步。 步骤S20:创建一由通知栏启动的应用程序组件(Activity)。包括: 定义所创建的Activity的启动模式,本实施例中,将所创建的Activity添加至一新的Task当中,将Activity的启动模式定义为“singlelnstance”,所建立的Activity作为新Task的唯一堆栈元素。 进一步的,将所建立Activity的主题设置为透明,即声明theme为Translucent。 具体的,在配置文件AndroidManifest.xml中声明所述的Activity的代码如下: IaunchMode:singlelnstance// 声明创建 Activity 的启动模式; theme:Translucent// 声明所创建 Activity 的主题为透明; 步骤S30:通过所创建的所述Activity启动后台运行的所述监控软件。 在所创建的Activity的函数中,调用onCreateO函数启动后台运行的所述监控软件,以使所述监控软件的运行界面在前台显示。 步骤S40:结束所创建的所述Activity。 所述步骤S30和步骤S40采用如下代码实现: OOverride protected void onCreate (Bundle savedlnstanceState)//在 Activity 创建时被系统调用; { //TODO Auto-generated method stub super.0nCreate (savedlnstanceState) -J/ 完成 onCreate 的初始化创建等工作; startActivity (new Intent (this, MonitorMainAct.class)) ;//启动监控软件,使后台监控软件的主界面Activity状态由stopped状态转为Active/Running状态,将要在前台显示的监控软件的Activity为:由上述创建的Activity跳转至由通知栏所选择的监控软件; finish O ;//此为步骤S40所对应的代码,结束Activity自身,由于启动模式为singlelnstance,因此Activity所在的Task也被销毁,此时步骤S20所创建的Activity由Active/Running状态转为Killed状态。 } 当监控软件被启动后,其执行onResumeO函数,后台存在的监控软件界面对应的Activity转为Active/Running状态,自动切换到前台。 需要补充说明的是,将所建立的Activity的启动模式定义为“singlelnstance”模式或将应用主界面的Activity启动模式定义为“singleTask”模式,即声明IaunchMode为singlelnstance,或声明IaunchMode为singleTas本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201410433052.html" title="基于Android系统的由通知栏调用后台任务的方法原文来自X技术">基于Android系统的由通知栏调用后台任务的方法</a>

【技术保护点】
一种基于Android系统的由通知栏调用后台任务的方法,其特征在于,包括步骤:A、当通知栏中的后台任务通知被用户触选时,创建一由通知栏启动的应用程序组件;B、通过所创建的所述应用程序组件启动被用户所触选的所述后台任务,使所述后台任务切换至前台显示;C、关闭所创建的所述应用程序组件。

【技术特征摘要】
1.一种基于Android系统的由通知栏调用后台任务的方法,其特征在于,包括步骤: A、当通知栏中的后台任务通知被用户触选时,创建一由通知栏启动的应用程序组件; B、通过所创建的所述应用程序组件启动被用户所触选的所述后台任务,使所述后台任务切换至前台显示; C、关闭所创建的所述应用程序组件。2.根据权利要求1所述的方法,其特征在于,创建的所述应用程序...

【专利技术属性】
技术研发人员:田兆申赵鸿飞
申请(专利权)人:中科创达软件股份有限公司
类型:发明
国别省市:北京;11

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

1