后视镜项目出现了一个问题:第三方应用回到HOME界面,导致我的黑屏界面的出现。本来最合适的方式是把MirrorLauncher当成Launcher,把我这个应用直接启动服务就可以了。但是,MirrorLauncher作为Launcher会出现问题,所以我这个是作为Launcher的。
提出了几种方案:
1 不要我的黑屏界面。
第一个想法就是直接启动之后finish掉。但此时,系统就没有找到可以启动的Launcher了,运行就会出现异常。
第二种想法是不要finish掉,直接将黑屏设置为透明的,这样就可以了。但是这样改不属于好的修改方式。突然运行时发现这个导航按home键时,他是不会消失的,透明栏在它上面而已,所以它其实没有destroy掉。
2 整个系统不要Launcher自启动,不行,运行出异常
3 根据上次改的悬浮框隐藏显示情况,找到activity启动的具体流程。发现可以采用根据当前acticity点击下一个activity的包名进行过滤启动mirrorLauncher。但是这种方式治标不治本,下一个第三方应用一来,还是没能解决的。
4 由于第三方应用都是通过"android.intent.category.HOME"进行过滤,可以将MirrorLauncher添加这个属性,然后系统的Launcher启动属性用自定义的。