一种自动切换默认Launcher的方法、装置及终端与流程

文档序号:12462946阅读:292来源:国知局
一种自动切换默认Launcher的方法、装置及终端与流程

本发明实施例涉及电子设备应用技术,尤其涉及一种自动切换默认Launcher的方法、装置及终端。



背景技术:

安卓是一种基于Linux的开放源代码的操作系统,主要用于手机、平板电脑、电视或手表等智能终端。在安卓系统中,主要包括操作系统、中间件、用户界面和应用程序。

其中,Launcher(桌面启动器)应用程序,是安卓系统加载完毕后第一个启动的应用程序,其负责处理和响应除应用本身操作外的所有操作,例如包括提供操作界面(即桌面)、响应于点击桌面上的应用程序图标而启动应用程序和设置壁纸等等。在系统运行Launcher应用程序的安卓安装包(AndroidPackage,APK)之后,完成系统开机。在实际应用中,开发者或用户会根据自身需求定制Launcher,并将定制的Launcher应用程序设置为默认Launcher,从而在开机后自动启动定制的Launcher。

然而,当定制Launcher应用程序出现持续崩溃后,用户将反复看到Launcher应用崩溃的提示,如持续出现“进程com.android.launcher意外停止”的提示窗口,且用户无法继续使用该智能终端,降低用户体验。



技术实现要素:

本发明提供一种自动切换默认Launcher的方法、装置及终端,以解决在默认Launcher出现持续崩溃后,用户无法继续使用该智能终端的问题,提高用户体验。

第一方面,本发明实施例提供了一种自动切换默认Launcher的方法,该方法包括:

在智能终端中内置至少两个桌面启动器Launcher,其中一个Launcher设置为所述智能终端开机启动的默认Launcher;

确定所述默认Launcher运行过程中的异常次数;

若所述异常次数超过预设阈值,则切换所述默认Launcher对应的Launcher。

第二方面,本发明实施例还提供了一种自动切换默认Launcher的装置,该装置包括:

Launcher内置模块,用于在智能终端中内置至少两个桌面启动器Launcher,其中一个Launcher设置为所述智能终端开机启动的默认Launcher;

次数确定模块,用于确定所述默认Launcher运行过程中的异常次数;

Launcher切换模块,用于若所述异常次数超过预设阈值,则切换所述默认Launcher对应的Launcher。

第三方面,本发明实施例还提供了一种终端,包括第二方面所示的自动切换默认Launcher的装置。

本发明通过在智能终端中内置至少两个桌面启动器Launcher,其中一个Launcher设置为智能终端开机启动的默认Launcher;确定默认Launcher运行过程中的异常次数;若异常次数超过预设阈值,则切换默认Launcher对应的Launcher。实现在智能终端中存在多个Launcher的情况下,当默认Launcher发生持续崩溃时,自动切换默认Launcher对应的Launcher,保证默认Launcher崩溃之后智能终端能够继续使用,提高用户体验。

附图说明

图1为本发明实施例一中的一种自动切换默认Launcher的方法的流程图;

图2是本发明实施例二中的一种自动切换默认Launcher的方法的流程图;

图3是本发明实施例三中的一种自动切换默认Launcher的方法的流程图;

图4是本发明实施例四中的一种自动切换默认Launcher的装置的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种自动切换默认Launcher的方法的流程图,本实施例可适用于解决智能终端中默认Launcher发生持续崩溃情况,该方法可以由自动切换默认Launcher的装置来执行,该装置可以采用软件和/或硬件的方式实现,并一般可集成在手机或平板电脑等智能终端中。参见图1,本实施例提供的方法具体包括如下步骤:

步骤101、在智能终端中内置至少两个桌面启动器Launcher,其中一个Launcher设置为智能终端开机启动的默认Launcher。

其中,在智能终端中内置至少两个桌面启动器Launcher的方式有很多,本发明对此不作限定。如为了满足自身的需求,开发者或运营商会研发定制Launcher,并在智能终端出厂前将定制Launcher以及系统自带Launcher安装于智能终端内。又如,用户还可根据自身需求,自行在智能终端中安装Launcher。

在智能终端出厂前,会设置智能终端开机启动的默认Launcher以在系统开机后启动默认Launcher,使得用户在默认Launcher中对智能终端进行操作。优选将定制Launcher设置为智能终端开机启动的默认Launcher,从而在系统开机启动后,系统自行运行定制Launcher,为用户展示定制Launcher。用户还可在系统开机后,在设置界面自行设置智能终端开机启动的默认Launcher,如用户进入设置界面后,弹出列有内置的Launcher的列表,将用户在列表中选择的Launcher设置为智能终端开机启动的默认Launcher。

步骤102、确定默认Launcher运行过程中的异常次数。

当默认Launcher运行过程中出现异常后,智能终端界面会弹出运行崩溃的提示窗口,并需重新启动默认Launcher。然而当默认Launcher运行过程中出现持续崩溃时,重新启动默认Launcher,无法解决持续崩溃问题,用户将反复看到弹出的运行崩溃的提示窗口。由于Launcher为系统开机后运行的第一个程序,是其它应用程序的入口,因此在默认Launcher出现持续崩溃后,用户将无法继续对该智能终端进行操作。

本发明在系统开机后,通过统计系统开机后默认Launcher运行过程中的异常次数以检测默认Launcher是否出现持续崩溃。

步骤103、若异常次数超过预设阈值,则切换默认Launcher对应的Launcher。

如果确定默认Launcher运行过程中的异常次数超过预设阈值,则确定默认Launcher出现持续崩溃,切换默认Launcher对应的Launcher,启动切换后的默认Launcher对应的Launcher,则用户可在切换后的默认Launcher对应的Launcher中对智能终端中的其它应用程序进行操作,保证默认Launcher崩溃之后智能终端能够继续使用。

示例性的,可在每隔一定时间间隔后,若异常次数未超过预设阈值则将异常次数清零,以防在系统开机后,对默认Launcher的异常次数持续累加导致误检测默认Launcher出现持续崩溃。

本实施例的技术方案,通过在智能终端中内置至少两个桌面启动器Launcher,其中一个Launcher设置为智能终端开机启动的默认Launcher;确定默认Launcher运行过程中的异常次数;若异常次数超过预设阈值,则切换默认Launcher对应的Launcher。实现在智能终端中存在多个Launcher的情况下,当默认Launcher发生持续崩溃时,自动切换默认Launcher对应的Launcher,保证默认Launcher崩溃之后智能终端能够继续使用,提高用户体验。

实施例二

图2为本发明实施例二提供的一种自动切换默认Launcher的方法的流程图,本实施例为对上述实施例的进一步优化。参见图2,本实施提供的方法具体包括:

步骤201、在智能终端中内置至少两个桌面启动器Launcher,其中一个Launcher设置为所述智能终端开机启动的默认Launcher;

步骤202、获取日志文件中第一预设长度的日志信息,得到日志信息取样标本;

在安卓系统中,每个应用程序运行异常时,都会抛出异常,并可打印异常信息到日志文件中,从而可通过查看日志文件中保存的日志信息,确定异常出现的位置和异常的问题。

本发明在系统启动后,自动获取日志文件中第一预设长度的日志信息,得到日志信息取样标本。

优选的,按照预设时间间隔,依次获取日志文件中第一预设长度的日志信息,得到日志信息取样标本。示例性的,第一预设长度为50行,预设时间间隔为1000毫秒。则在系统启动后,首先获取日志文件中1-50行的日志信息,得到日志信息取样标本,并记录此次日志信息取样标本中日志信息的最后一行在日志文件中的行数,即50,在相隔预设时间间隔1000毫秒后,从记录的下一行开始,获取日志文件中51-100行的日志信息,再次得到日志信息取样标本。

步骤203、判断日志信息取样标本中是否包括当前的默认Launcher的异常信息,若是,执行步骤204,否则,执行步骤202。

在获得日志信息取样标本后,检测日志信息取样标本中的日志信息是否包括当前的默认Launcher的异常信息,从而确定默认Launcher是否运行异常。如果日志信息取样标本中包括当前的默认Launcher的异常信息,则确定默认Launcher运行异常,否则,按照预设时间间隔定时获取日志文件中第一预设长度的日志信息,得到日志信息取样标本,统计默认Launcher运行过程中的异常次数,持续检测默认Launcher是否发生持续崩溃。

步骤204、根据默认Launcher的异常信息对默认Launcher运行过程中的异常次数累加。

如果日志信息取样标本中包括默认Launcher的异常信息,则确定默认Launcher运行异常,根据得到的默认Launcher的异常信息对默认Launcher的异常次数累加,统计默认Launcher运行过程中的异常次数。

205、判断异常次数是否超过预设阈值,若是,执行步骤206,否则,执行步骤202。

如果异常次数超过预设阈值,则确定默认Launcher处于持续崩溃状态,切换默认Launcher对应的Launcher;如果异常次数未超过预设阈值,则按照预设时间间隔定时获取日志文件中第一预设长度的日志信息,得到日志信息取样标本,持续检测默认Launcher是否发生持续崩溃。

步骤206、切换默认Launcher对应的Launcher。

本实施例的技术方案通过获取日志文件中第一预设长度的日志信息,得到日志信息取样标本,判断日志信息取样标本中是否包括默认Launcher的异常信息,若包括默认Launcher的异常信息,根据默认Launcher的异常信息对默认Launcher运行过程中的异常次数累加。实现根据日志文件中的日志信息实时统计默认Launcher运行过程中的异常次数,从而持续检测默认Launcher是否处于持续崩溃状态。

实施例三

图3为本发明实施例三提供的一种自动切换默认Launcher的方法的流程图,本实施例为对上述实施例的进一步优化。参见图3,本实施提供的方法具体包括:

步骤301、在智能终端中内置至少两个桌面启动器Launcher,其中一个Launcher设置为所述智能终端开机启动的默认Launcher。

步骤302、获取日志文件中第一预设长度的日志信息,得到日志信息取样标本。

步骤303、判断日志信息取样标本中是否包括Exception字段,若是,执行步骤304,否则,执行步骤302。

若应用程序运行异常,打印的异常信息均会包括Exception字段,因此,可通过检测日志信息取样标本中是否包括Exception字段,确定日志信息取样标本中的日志信息是否包括异常信息。

如由于日志信息为String类型数据,因此可调用安卓软件开发工具包(Android Software Development Kit,Android SDK)中的String类的对比接口public Boolean contains(String input),输入参数Exception,若返回值为true,则确定日志信息取样标本中的日志信息包括异常信息。

步骤304、判断日志信息取样标本中包括Exception字段的第二预设长度的日志信息是否包括当前的默认Launcher的包名,若是,执行步骤305,否则,执行步骤302。

在检测到日志信息取样标本中的日志信息包括Exception字段,确定日志信息取样标本中的日志信息包括异常信息后,可通过检测日志信息取样标本中包括Exception字段的第二预设长度的日志信息是否包括当前的默认Launcher的包名来确定日志信息取样标本中包括的异常信息是否为默认Launcher的异常信息。如检测到日志信息取样标本中包括2个Exception字段,则分别获取日志信息取样标本中2个Exception字段所在行及所在行的上10行和下10行的日志信息,并检测获取的Exception字段所在行及所在行的上10行和下10行的日志信息是否包括当前的默认Launcher的包名(Package Name),若包括当前默认Launcher的包名,则说明该Exception为默认Launcher抛出的异常,若不包括当前默认Launcher的包名,则说明该Exception不是默认Launcher抛出的异常,则继续获取日志文件中第一预设长度的日志信息,得到日志信息取样标本,持续检测默认Launcher是否发生持续崩溃。

步骤305、将日志信息取样标本中包括默认Launcher的包名的Exception字段的第三预设长度的日志信息缓存。

优选的,若日志信息取样标本中包括Exception字段的第二预设长度的日志信息中包括当前默认Launcher的包名,说明该Exception为默认Launcher抛出的异常,则将该Exception字段的第三预设长度的日志信息缓存,从而保存默认Launcher的异常信息。如若确认获取的Exception所在行及所在行的上10行和下10行的日志信息包括当前默认Launcher的包名,则将该Exception所在行及所在行的上20行和下20行的日志信息缓存。

步骤306、将默认Launcher运行过程中的异常次数累加默认Launcher的包名的个数。

优选的,在确认包括当前默认Launcher的包名后,统计该日志信息取样标本中包括的当前默认Launcher的包名的个数。如若日志信息取样标本中有2个包括Exception字段的第二预设长度的日志信息中包括当前默认Launcher的包名,则该日志信息取样标本中默认Launcher的包名的个数为2,并将默认Launcher运行过程中的异常次数累加默认Launcher的包名的个数,统计默认Launcher运行过程中的异常次数。

步骤307、判断异常次数是否超过预设阈值,若是,执行步骤308,否则,执行步骤302。

步骤308、获取包括内置的Launcher的包名信息的Launcher列表;

示例性的,可通过PackageMessager类获取智能终端中的所有Launcher的信息,并保存在一个列表中,从而获取内置的Launcher的包名信息的Launcher列表。如通过下列程序实现:

步骤309、去除Launcher列表中与当前的默认Launcher包名相同的Launcher,得到第一Launcher列表。

通过去除Launcher列表中与当前的默认Launcher包名相同的Launcher,将当前默认Launcher对应的Launcher从Launcher列表中去除以防止再次将当前默认Launcher对应的Launcher切换为默认Launcher对应的Launcher。

步骤310、将第一Launcher列表中任一Launcher确认为目标Launcher,并将默认Launcher对应的Launcher切换为目标Launcher。

在得到第一Launcher列表后,从第一Launcher列表自动选取任一Launcher为目标Launcher,如可选取列表中的第一个Launcher为目标Launcher。并将默认Launcher对应的Launcher切换为目标Launcher,从而启动目标Launcher,用户在目标Launcher中,对其它应用程序进行操作,保证默认Launcher崩溃之后智能终端能够继续使用。

步骤311、获取日志文件中未被获取的日志信息。

将默认Launcher对应的Launcher切换为目标Launcher后,获取日志文件中未被获取的所有日志信息,以获取日志文件中未被获取的异常信息。

步骤312、获取未被获取的日志信息中包括切换前默认Launcher的包名的Exception字段的第三预设长度的日志信息并缓存。

示例性的,在获取的未被获取的日志信息中,检测是否包括Exception字段,并检测包括Exception字段的第二预设长度的日志信息中是否包括切换前默认Launcher对应的Launcher的包名,若包括,则缓存包括该Exception字段的第三预设长度的日志信息,从而保存未被获取的切换前默认Launcher对应的Launcher的异常信息。

步骤313、将所有缓存的日志信息输出至目标目录中。

优选的,将各缓存的日志信息按照缓存的时间先后顺序保存在同一文件中,再将该文件输出到指定的目标目录中,从而开发维护人员可在目标目录中查看并分析发生持续崩溃的Launcher的异常信息,便于开发维护人员进行维护。

本实施例的技术方案,通过判断日志信息取样标本中包括Exception字段的第二预设长度的日志信息是否包括当前的默认Launcher的包名,若包括默认Launcher的包名,将默认Launcher运行过程中的异常次数累加默认Launcher的包名的个数。从而实现方便快捷地对默认Launcher运行过程中的异常次数进行统计,检测默认Launcher是否发生持续崩溃。通过获取包括内置的Launcher的包名信息的Launcher列表,去除Launcher列表中与当前的默认Launcher包名相同的Launcher,得到第一Launcher列表,将第一Launcher列表中任一Launcher确认为目标Launcher,并将默认Launcher对应的Launcher切换为目标Launcher。从而获取智能终端中内置的所有Launcher的信息,并将发生持续崩溃的Launcher去除,自动将除持续崩溃的Launcher之外的任一Launcher确认为目标Launcher,并将默认Launcher对应的Launcher切换为目标Launcher,进而启动目标Launcher,使得用户在目标Launcher中对智能终端中的其它应用程序进行操作,保证默认Launcher崩溃之后智能终端能够继续使用。通过缓存出现持续崩溃的Launcher的异常信息并输出至目标目录,便于开发维护人员在目标目录中查看并分析发生持续崩溃的Launcher的异常信息,为开发维护人员提供便利。

实施例四

图4为本发明实施例四提供的一种自动切换默认Launcher的装置的结构示意图,上述装置用于实现上述实施例提供的自动切换默认Launcher的方法,该装置包括:

Launcher内置模块401,用于在智能终端中内置至少两个桌面启动器Launcher,其中一个Launcher设置为所述智能终端开机启动的默认Launcher;

次数确定模块402,用于确定所述默认Launcher运行过程中的异常次数;

Launcher切换模块403,用于若所述异常次数超过预设阈值,则切换所述默认Launcher对应的Launcher。

上述方案中,可选的是,所述次数确定模块包括:

标本取样单元,用于获取日志文件中第一预设长度的日志信息,得到日志信息取样标本;

异常信息判断单元,用于判断所述日志信息取样标本中是否包括当前的所述默认Launcher的异常信息;

异常次数累加单元,用于若包括所述默认Launcher的异常信息,根据所述默认Launcher的异常信息对所述默认Launcher运行过程中的异常次数累加。

上述方案中,可选的是,所述异常信息判断单元具体用于:

判断所述日志信息取样标本中是否包括Exception字段;

若是,判断所述日志信息取样标本中包括所述Exception字段的第二预设长度的日志信息是否包括当前的所述默认Launcher的包名;

相应的,所述异常次数累加单元具体用于:

若包括所述默认Launcher的包名,将所述默认Launcher运行过程中的异常次数累加所述默认Launcher的包名的个数。

上述方案中,可选的是,Launcher切换模块具体用于:

获取包括内置的所述Launcher的包名信息的Launcher列表;

去除所述Launcher列表中与当前的所述默认Launcher包名相同的Launcher,得到第一Launcher列表;

将所述第一Launcher列表中任一Launcher确认为目标Launcher,并将所述默认Launcher对应的Launcher切换为所述目标Launcher。

上述方案中,可选的是,所述异常次数累加单元还用于:若包括当前的所述默认Launcher的包名,将所述日志信息取样标本中包括所述默认Launcher的包名的Exception字段的第三预设长度的日志信息缓存。

上述方案中,优选的是,还包括信息缓存模块,具体用于:

获取所述日志文件中未被获取的日志信息;

获取所述未被获取的日志信息中包括切换前默认Launcher的包名的Exception字段的第三预设长度的日志信息并缓存;

将所有缓存的日志信息输出至目标目录中。

上述方案中,优选的是,标本取样单元具体用于:

按照预设时间间隔,依次获取日志文件中第一预设长度的日志信息,得到日志信息取样标本。

上述方案中,优选的是,所述默认Launcher对应的Launcher初始设置为定制Launcher。

实施例五

本发明实施例五提供了一种终端,该终端集成了本发明实施例四所示的自动切换默认Launcher的装置,可通过执行自动切换默认Launcher的方法来进行自动切换默认Launcher。

示例性的,本实施例中的终端具体可为手机、平板电脑及电视等智能终端。

在用户使用本实施例中的终端过程中,在终端中存在多个Launcher的情况下,持续检测默认Launcher是否发生持续崩溃,当默认Launcher发生持续崩溃时,自动切换默认Launcher对应的Launcher,保证默认Launcher崩溃之后智能终端能够继续使用,提高用户体验。

上述装置可执行本发明任意实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1