文档章节

Android最近任务列表的安全问题

colorlesswind
 colorlesswind
发布于 2016/09/01 17:18
字数 428
阅读 123
收藏 1

    最近遇到一个需求,由于app中存在自动扫描证件(敏感信息)获取用户真实信息的功能。而且由于在系统会自动获取app的最后一个activity的screen shot,并将其显示于recent task list(最近任务列表)中。因此可能会存在敏感信息泄露的问题。

解决方法1:

    在AndroidManifest.xml中对应的会处于activity栈底的activity节点上添加属性

android:excludeFromRecents="true"

    此时,所有与该activity处于同一个栈里的同一个app的activity都不会显示在recent task list(最近任务列表)中。

    但是此方法带来的问题是:用户不能使用recent task list(最近任务列表)来快速启动我们的app。

解决方法2:

    重写Activity中的

public boolean onCreateThumbnail(Bitmap outBitmap, Canvas canvas)

    方法,使用该方法将自定义的图片供recent task list(最近任务列表)使用。

    但是经过从4.4.4到6.0.1系统的测试,该方法在这两个版本之间系统均不起作用。

解决方法3:

    在对应的activity中的onCreate()方法中添加如下代码

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

    可以使设置了该flag的activity不能被截屏,包括系统。这就解决了敏感信息出现在recent task list(最近任务列表)中的问题。

    注意:这个flag的设置可以是动态的,这意味着当监听到是用户操作按键截取当前屏幕的时候可以解除这个flag,然后等待用户截屏完成后,再恢复这个flag。

© 著作权归作者所有

共有 人打赏支持
colorlesswind
粉丝 1
博文 40
码字总数 9065
作品 0
广州
私信 提问
android:excludeFromRecents 属性需要注意的小地方

在 Android 系统中,如果我们不想某个 Activity 出现在 “Recent screes” 中,可以设置 属性 android:excludeFromRecents 为 true。其中有些需要注意到的地方说明下。 android:excludeFromR...

夏洛克的喵
2018/06/12
0
0
[Android] Activity栈和Task

Activity栈 当用户在Application中,从一个Activity跳到另一个时,Android系统会 保存一个用户访问Activity的线性导航历史。 这就是activity栈,也被称为返回栈。 一般来说,当用户运行一个新...

枫兮兮
2014/02/25
0
0
AndroidManifest.xml文件详解(activity)(二)

android:configChanges 这个属性列出了那些需要Activity进行自我处理的配置变化。当在运行时配置变化发生的时候,默认情况下,这个Activity会被关掉并重启,但是用这个属性声明一个配置,就会...

长平狐
2012/10/16
323
0
Android 开发艺术探索读书笔记(一)

之前断断续续地学了一些 Android 开发基础,也写过几个简单的 app,但都是特别简单的那种,还有很多知识学完了没有用过,现在已经忘得差不多了。最近找到一本书叫 Android 开发艺术探索(作者...

andorxor
2018/07/23
0
0
Android 出现了一款恶意软件,也能够勒索人

上次 WannaCry 勒索病毒席卷全球后,Windows XP 和未安装更新的 Windows 电脑遭遇了前所未有的安全问题。当然,这一事件有好有坏,好的一面也促使了更多的用户开始关注电子设备的安全问题。 ...

局长
2017/05/26
1K
16

没有更多内容

加载失败,请刷新页面

加载更多

如何开发一款以太坊(安卓)钱包系列2 - 导入账号及账号管理

这是如何开发一款以太坊(安卓)钱包系列第2篇,如何导入账号。有时用户可能已经有一个账号,这篇文章接来介绍下,如何实现导入用户已经存在的账号。 导入账号预备知识 从用户需求上来讲,导...

Tiny熊
今天
2
0
intellJ IDEA搭建java+selenium自动化环境(maven,selenium,testng)

1.安装jdk1.8; 2.安装intellJ; 3.安装maven; 3.1 如果是单前用户,配置用户环境变量即可,如果是多用户,则需配置系统环境变量,变量名为MAVEN_HOME,赋值D:\Application\maven,往path中...

不最醉不龟归
今天
3
0
聊聊ShenandoahGC的Brooks Pointers

序 本文主要研究一下ShenandoahGC的Brooks Pointers Shenandoah Shenandoah面向low-pause-time的垃圾收集器,它的GC cycle主要有 Snapshot-at-the-beginning concurrent mark包括Init Mark(P......

go4it
昨天
3
0
Makefile通用编写规则

#简单实用的Makefile模板: objs := a.o b.o test:$(objs) gcc -o test $^ # .a.o.d .b.o.d dep_files := $(foreach f,$(objs),.$(f).d) dep_files := $(wildcard $(dep_files)) ifneq ($(d......

shzwork
昨天
2
0
《万历十五年》的读后感作文4000字

《万历十五年》的读后感作文4000字: 万历十五年,即1587年,距今已过去432年。在明朝276的历史中,这一年很平淡,并没有什么特别之处。黄仁宇的《万历十五年》一书,有别于其他的历史叙述方...

原创小博客
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部