应用程序的故障恢复方法和终端技术

技术编号:14130881 阅读:46 留言:0更新日期:2016-12-09 19:31
本发明专利技术实施例提供一种应用程序的故障恢复方法和终端。该方法包括:在目标Activity组件启动成功后,保存所述目标Activity组件的第一标识信息和所述第一标识信息对应的intent数据;若检测到所述目标Activity组件对应的应用程序发生异常,则获取当前的运行环境信息,并对所述运行环境信息进行解析,得到第二标识信息;判断所述第二标识信息和所述第一标识信息是否匹配;若匹配,则根据所述intent数据,重新启动所述目标Activity组件。本发明专利技术实施例的方法,避免现有技术中应用程序发生概率性异常时,直接跳出关闭或者停在当前异常页面不动的现象发生,大大提高了用户的体验效果。

【技术实现步骤摘要】

本专利技术实施例涉及通信
,尤其涉及一种应用程序的故障恢复方法和终端
技术介绍
目前运营商定制化开发的网络机顶盒不断打入市场,而定制化开发的关键便是集成某些特定的关键应用,如网管(Termination Management,简称TM)、点播、直播等。这些关键的应用程序(在本专利中称为白名单应用程序),一方面保证了运营商的利益,同时也为用户提供了传统机顶盒更丰富的网络视频资源。这些白名单应用程序良好运行状态便是用户体验的关键因素,也是终端产品的核心竞争力。对于运行在网络机顶盒或者其他智能终端上的应用程序,或多或少会出现一些异常(Exception),如空指针、缓存溢出(out of memory)、超时(time out)等,因此在开发该应用程序时,开发人员会设计一些容错机制,对应用程序出现的一些异常进行规避和处理,保证应用程序可以正常运行。但是,即使程序员在程序开发过程中考虑了各种异常情况,并尽量对各种异常进行规避,也往往无法完全模拟真实的使用场景,对于应用程序在一些无法模拟的真实场景下产生的概率性异常,应用程序自身无法进行故障恢复,呈现给用户的即就是程序跳出或者程序崩溃的情景,用户的体验性较差。
技术实现思路
本专利技术实施例提供一种应用程序的故障恢复方法和终端,用以解决现有技术中当应用程序呈现研发人员未规避的异常(即概率性异常)时,应用程序直接跳出关闭或者停在当前异常页面不动,用户的体验性较差的技术问题。第一方面,本专利技术实施例提供一种应用程序的故障恢复方法,包括:在目标Activity组件启动成功后,保存所述目标Activity组件的第一标识信息和所述第一标识信息对应的intent数据;其中,所述第一标识信息包括所述目标Activity组件对应的第一应用程序包标识和所述目标Activity组件的标识;若检测到所述目标Activity组件对应的应用程序发生异常,则获取当前的运行环境信息,并对所述运行环境信息进行解析,得到第二标识信息;其中,所述第二标识信息包括发生异常的第二应用程序包标识和异常的Activity组件标识;判断所述第二标识信息和所述第一标识信息是否匹配;若匹配,则根据所述intent数据,重新启动所述目标Activity组件。在一种可能的实施方式中,所述在目标Activity组件启动成功后,保存所述目标Activity组件的第一标识信息和所述第一标识信息对应的intent数据,具体包括:在启动所述目标Activity组件后,获取所述第一应用程序包标识和所述目标Activity组件的标识;根据所述第一应用程序包标识判断所述目标Activity组件对应的应用程序是否为白名单应用;若所述目标Activity组件对应的应用程序为白名单应用,则从Activity栈中获取最顶层的Activity的标识,并判断所述最顶层的Activity的标识是否与所述目标Activity组件的标识匹配;若匹配,则确定所述目标Activity组件启动成功,并将所述第一标识信息和所述intent数据保存至数据库中。在另一种可能的实施方式中,所述判断所述第二标识信息和所述第一标识信息是否匹配,具体包括:判断所述第二应用程序包标识是否与所述第一应用程序包标识相同;判断所述目标Activity组件的标识和所述异常的Activity组件标识是否相同;若所述第二应用程序包标识与所述第一应用程序包标识相同、且所述目标Activity组件的标识和所述异常的Activity组件标识相同,则确定所述第二标识信息和所述第一标识信息匹配。在又一种可能的实施方式中,所述方法还包括:若所述目标Activity组件正常退出,删除数据库中所保存的所述目标Activity组件对应的intent数据和所述第一标识信息。在另一种可能的实施方式中,所述方法还包括:保存所述目标Activity组件对应的应用程序的异常信息。在另一种可能的实施方式中,所述方法还包括:在重新启动所述目标Activity组件时,向用户输出提示信息;所述提示信息用于提示用户正在重新加载页面。第二方面,本专利技术实施例提供一种终端,包括:存储模块,用于在目标Activity组件启动成功后,保存所述目标Activity组件的第一标识信息和所述第一标识信息对应的intent数据;其中,所述第一标识信息包括所述目标Activity组件对应的第一应用程序包标识和所述目标Activity组件的标识;获取模块,用于在检测到所述目标Activity组件对应的应用程序发生异常时,获取当前的运行环境信息,并对所述运行环境信息进行解析,得到第二标识信息;其中,所述第二标识信息包括发生异常的第二应用程序包标识和异常的Activity组件标识;判断模块,用于判断所述第二标识信息和所述第一标识信息是否匹配;处理模块,用于在所述判断模块判断第二标识信息和所述第一标识信息匹配时,根据所述intent数据,重新启动所述目标Activity组件。在另一种可能的实施方式中,所述存储模块,具体包括:获取单元,用于在启动所述目标Activity组件后,获取所述第一应用程序包标识和所述目标Activity组件的标识;第一判断单元,用于根据所述第一应用程序包标识判断所述目标Activity组件对应的应用程序是否为白名单应用;第二判断单元,用于在所述第一判断单元所述目标Activity组件对应的应用程序为白名单应用时,从Activity栈中获取最顶层的Activity的标识,并判断所述最顶层的Activity的标识是否与所述目标Activity组件的标识匹配;保存单元,用于在所述第二判断单元判断所述最顶层的Activity的标识与所述目标Activity组件的标识匹配时,确定所述目标Activity组件启动成功,并将所述第一标识信息和所述intent数据保存至数据库中。在又一种可能的实施方式中,所述判断模块,具体用于判断所述第二应用程序包标识是否与所述第一应用程序包标识相同,以及判断所述目标Activity组件的标识和所述异常的Activity组件标识是否相同,并在判断所述第二应用程序包标识与所述第一应用程序包标识相同、且所述目标Activity组件的标识和所述异常的Activity组件标识相同时,确定所述第二标识信息和所述第一标识信息匹配。在另一种可能的实施方式中,所述处理模块,还用于在所述目标Activity组件正常退出时,删除数据库中所保存的所述目标Activity组件对应的intent数据和所述第一标识信息。在另一种可能的实施方式中,所述存储模块,还用于保存所述目标Activity组件对应的应用程序的异常信息。在又一种可能的实施方式中,所述处理模块,还用于在重新启动所述目标Activity组件时,向用户输出提示信息;所述提示信息用于提示用户正在重新加载页面。本专利技术实施例提供的应用程序的故障恢复方法和终端,通过在目标Activity组件启动成功后,保存该目标Activity组件的第一标识信息和该第一标识信息对应的intent数据,并在检测到所述目标Activity组件对应的应用程序发生异常时,获取并解析当前的运行环境信息,得到第二标识信息,进而在判断第二标识信息和第一标识信息匹配时,通过保存的intent数据重新本文档来自技高网...
应用程序的故障恢复方法和终端

【技术保护点】
一种应用程序的故障恢复方法,其特征在于,包括:在目标Activity组件启动成功后,保存所述目标Activity组件的第一标识信息和所述第一标识信息对应的intent数据;其中,所述第一标识信息包括所述目标Activity组件对应的第一应用程序包标识和所述目标Activity组件的标识;若检测到所述目标Activity组件对应的应用程序发生异常,则获取当前的运行环境信息,并对所述运行环境信息进行解析,得到第二标识信息;其中,所述第二标识信息包括发生异常的第二应用程序包标识和异常的Activity组件标识;判断所述第二标识信息和所述第一标识信息是否匹配;若匹配,则根据所述intent数据,重新启动所述目标Activity组件。

【技术特征摘要】
1.一种应用程序的故障恢复方法,其特征在于,包括:在目标Activity组件启动成功后,保存所述目标Activity组件的第一标识信息和所述第一标识信息对应的intent数据;其中,所述第一标识信息包括所述目标Activity组件对应的第一应用程序包标识和所述目标Activity组件的标识;若检测到所述目标Activity组件对应的应用程序发生异常,则获取当前的运行环境信息,并对所述运行环境信息进行解析,得到第二标识信息;其中,所述第二标识信息包括发生异常的第二应用程序包标识和异常的Activity组件标识;判断所述第二标识信息和所述第一标识信息是否匹配;若匹配,则根据所述intent数据,重新启动所述目标Activity组件。2.根据权利要求1所述的方法,其特征在于,所述在目标Activity组件启动成功后,保存所述目标Activity组件的第一标识信息和所述第一标识信息对应的intent数据,具体包括:在启动所述目标Activity组件后,获取所述第一应用程序包标识和所述目标Activity组件的标识;根据所述第一应用程序包标识判断所述目标Activity组件对应的应用程序是否为白名单应用;若所述目标Activity组件对应的应用程序为白名单应用,则从Activity栈中获取最顶层的Activity的标识,并判断所述最顶层的Activity的标识是否与所述目标Activity组件的标识匹配;若匹配,则确定所述目标Activity组件启动成功,并将所述第一标识信息和所述intent数据保存至数据库中。3.根据权利要求2所述的方法,其特征在于,所述判断所述第二标识信息和所述第一标识信息是否匹配,具体包括:判断所述第二应用程序包标识是否与所述第一应用程序包标识相同;判断所述目标Activity组件的标识和所述异常的Activity组件标识是否相同;若所述第二应用程序包标识与所述第一应用程序包标识相同、且所述目标Activity组件的标识和所述异常的Activity组件标识相同,则确定所述第二标识信息和所述第一标识信息匹配。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:若所述目标Activity组件正常退出,删除数据库中所保存的所述目标Activity组件对应的intent数据和所述第一标识信息。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:保存所述目标Activity组件对应的应用程序的异常信息。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在重新启动所述目标Ac...

【专利技术属性】
技术研发人员:覃淑蓉戚传印
申请(专利权)人:青岛海信宽带多媒体技术有限公司
类型:发明
国别省市:山东;37

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

1