应用开发过程中安全问题的确需要系统考虑也要开发者自己多考虑,一个小的细节可能会让你的应用变的更安全,最近在用招商银行App的时候无意中发现了iPhone上多任务一个好玩的东西:
看到招商银行的应用有一个特别的地方就是当应用出现在多任务中的时候界面被高斯模糊处理了,也就是看不到界面内容了,你看后面的今日头条还是可以看到内容的,为什么看不到这个应该都知道为了安全,假如招商应用当前的界面是余额界面无意中被人看到多任务窗口信息等于就被人看到余额,这个还是很危险的,因为比如像我的账户余额一般不超过两位数,如果这么高的余额被人看到了很危险的。
然后我就好奇去网上一搜iPhone的这种技术处理是怎么做到的,其实没搜索之前也大致猜到了,因为我们开发过iOS都知道有两个回调方法就是应用退到后台和应用返回前台,其实Android中也有这些事件但是和iPhone相比太多了处理起来很麻烦,而且iPhone多任务就是双击Home键即可,但是Android机型很多需要处理多种机型的事件很麻烦:
网上资料一大堆都是关于iPhone的,感兴趣的同学可以百度自行实践一下,很简单就是在退出后台之后把当前的应用UIWindow图片取出来然后高斯模糊一下在设置回去即可,而关于Android的呢相关知识呢?我们在搜一下:
看到了吗?竟然没有大部分都还是iPhone的,而且都是求助,也就说肯定有人想实现这样的逻辑,那Android中到底能实现吗?不多说了直接看看手机上验证一下:
我用oppo手机查看的确可以呀,所以我就开始写代码实现了,因为大致思路上面都说到了,我们首先监听系统的打开多任务键事件,oppo手机打开多任务就是长按home键,所以我们只需要监听长按home键事件即可,这个网上有方案了通过广播就可以实现了,监听到多任务打开的时候我们就把当前我们自己应用的TopActivity界面获取到然后高斯模糊处理在用一个新的控件展示图片,把新的控件放到View中即可,这里需要了解Android中界面的结构: