美文网首页
安卓开发保持应用在最上层

安卓开发保持应用在最上层

作者: 还没爬出坑的程序猿 | 来源:发表于2020-05-18 22:40 被阅读0次

    目前做的项目都是在安卓板上使用的,需要一直保持应用在最顶层

    最早的逻辑是判断RunningTask,那时候用的安卓板还是4.4的,后来板子升级到了6.0,该方法就失效了(在5.0已经废弃)

    6.0用的是以下的方法

    https://effmx.com/articles/tong-guo-android-fu-zhu-gong-neng-accessibility-service-jian-ce-ren-yi-qian-tai-jie-mian/

    当时因为时间仓促,所以也没有细心研究,是修改的老代码,那时候是单独一个应用,虽说能保证了指定应用永远处于最上层,但是设备配置和维护就比较麻烦,第一是要安装两个应用,第二无障碍辅助需要手动去设置(可以查找到自动申请的代码),第三想跳出应用改个设置都很麻烦,设置的间隔时间很短,长了又容易出问题。

    所以后来在重构项目的时候,就没再考虑这种方式,用了下面的方法

    Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler(){});

    可以抓到程序因异常导致关闭的情况,就想着在这里进行重启应用,就省掉了之前用来检测的应用

    一开始感觉基本能满足,但是在实际使用的这一年中,会出现很多APP退出的情况,当时也知道在无响应的时候强制结束应用,并不会触发,想着多优化一下,尽量去避免这种问题。

    但是奈何后期出现问题的设备较多,也无法去复现,现在打算再回到最初的方式,不过准备合成一个应用,写个Service去监听,然后设置个开关,去启动和关闭,默认开启,手动关闭后可进行调试,关闭调试界面后自动开启

    https://blog.csdn.net/behindeye/article/details/85563204   该文章有直接申请权限的代码

    相关文章

      网友评论

          本文标题:安卓开发保持应用在最上层

          本文链接:https://www.haomeiwen.com/subject/vdhmohtx.html