本发明android程序技术领域,尤其涉及一种app回滚方法和系统。
背景技术:
现有的app回滚的缺点主要有三方面,第一:只有升级功能,没有回滚功能。第二:需要用户在终端上面进行操作,用户体验差。第三:没有对app状态进行检测,当app出现问题时,没有进行异常处理,保证app的运行,这一点在智能终端领域(比如快递柜)等无人值守设备尤其重要。
技术实现要素:
为了解决上述问题,本发明提供一种app回滚方法和系统。
本发明采用的技术方案一方面为一种app回滚方法,包括步骤:检测app的运行状态,运行不正常则检测app是否存在备份,存在则基于该备份进行app回滚。
优选地,还包括步骤:检测app的运行状态,运行正常则检测app版本信息,如果版本不一致则进行app备份。
优选地,基于activitymanager检测app的运行状态。
优选地,检测app的运行状态的步骤包括:获取app名称以确定对应的进程状态,当app的后台正在运行则使用activitymanager获取app运行状态,所述app运行状态包括missing、dead和running。
本发明采用的技术方案一方面为一种app回滚系统,包括:处理芯片,用于检测app的运行状态,运行不正常则检测app是否存在备份,存在则基于该备份进行app回滚。
优选地,所述处理芯片,还用于检测app的运行状态,运行正常则检测app版本信息,如果版本不一致则进行app备份。
优选地,所述处理芯片,还用于基于activitymanager检测app的运行状态。
优选地,所述处理芯片检测app的运行状态的步骤包括:获取app名称以确定对应的进程状态,当app的后台正在运行则使用activitymanager获取app运行状态,所述app运行状态包括missing、dead和running。
本发明的有益效果为提供实时检测app状态以保障系统的正常运行,通过app的版本信息启动回滚,能够在不影响app端的情况下,实现app回滚。
附图说明
图1所示为基于本发明实施例的app回滚流程示意图;
图2所示为基于本发明实施例的app检测流程示意图。
具体实施方式
以下结合实施例对本发明进行说明。
基于发明的实施例,一种app回滚方法,包括步骤:检测app的运行状态,运行不正常则检测app是否存在备份,存在则基于该备份进行app回滚。
还包括步骤:检测app的运行状态,运行正常则检测app版本信息,如果版本不一致则进行app备份。
基于activitymanager检测app的运行状态。
检测app的运行状态的步骤包括:获取app名称以确定对应的进程状态,当app的后台正在运行则使用activitymanager获取app运行状态,所述app运行状态包括missing、dead和running。
基于发明的实施例,一种app回滚系统,包括:处理芯片,用于检测app的运行状态,运行不正常则检测app是否存在备份,存在则基于该备份进行app回滚。
所述处理芯片,还用于检测app的运行状态,运行正常则检测app版本信息,如果版本不一致则进行app备份。
所述处理芯片,还用于基于activitymanager检测app的运行状态。
所述处理芯片检测app的运行状态的步骤包括:获取app名称以确定对应的进程状态,当app的后台正在运行则使用activitymanager获取app运行状态,所述app运行状态包括missing、dead和running。
作为实施例的进一步改进,如图1所示的app回滚流程:
检测app状态,如果app为正常运行状态(即ok)则检测app版本信息,如果app版本一致则结束流程,不一致则通过保留app的安装后文件包或者app的安装包以实现备份;
如果app为不正常运行状态则查询是否存在app备份,有则进行回滚,没有则结束流程。
作为实施例的进一步改进,如图2所示的app检测流程:
获取app名称,基于app名称定位并获取app的进程状态,判断app后台是否在运行,是则通过am获取app的运行状态,不是则结束流程。
其中,区分app状态为missing(未安装)、dead(未运行)和running(正在运行)三种状态,主要使用系统信息和app状态数据进行状态分析和计算,同时结合历史数据进行修正,保证app状态的准确性。
app系统信息采用android框架中的activitymanager(简称am)进行采集,am可以获取到系统中安装和正在运行的app列表,同时结合android进程状态信息,可以判断出app是否处于missing、dead和running三种状态之一。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。