android按home键lancher重启

前一段时间做lancher升级,自己修改了一下packageinstaller.apk这个应用安装程序,整个过程都比较顺利,能正常检测更新,能正常正常下载,能正常安装,可最后在使用时才发现,只要经过升级的lancher,每次点击home,lancher都会重启。最后分析得知:

假设在没有运行任何其他程序的情况下.

首先lancher作为最底层的activity,在其后启动packageinstaller来安装升级自己。这时lancher会由于被覆盖而自行退出,导致packageinstaller成为了最底层的activity,而当安装完毕后,发home消息返回home(启动lancher)时没有finish掉packageinstaller的话,packageinstaller始终占着底层,所以每次按home键都相当于重新启动lancher(lancher设置为single)。

最后解决的方法是,在packageinstaller退出时,finish掉自己。

上面的内容有点像是在瞎猜,可能说的不很专业,但这大概是自己的理解,如果有人比较了解,还望批评指正。

0 条评论
发表一条评论

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。