前言

这个需求是显示在最近任务栏,但不让人预览。

正文

关于这个问题,其实让人很恼火,为啥不让人看呢?

不过需求贵需求,作为程序猿,我们的任务就是为了完成各种奇葩的需求。

下面分享几种可以实现的方式。

使用FLAG_SECURE

在Activity中的onCreate()中 设置窗口的Flags属性

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
    //在这个之前
    setContentView(R.layout.main_activity);

设置之后,预览界面就是乌漆嘛黑的(我这是Android P)

WindowManager.java中

   /** Window flag: treat the content of the window as secure, preventing
    * it from appearing in screenshots or from being viewed on non-secure
    * displays.
    *
    * <p>See {@link android.view.Display#FLAG_SECURE} for more details about
    * secure surfaces and secure displays.
    */
   public static final int FLAG_SECURE             = 0x00002000;
缺点

就是无法截图和录屏,录屏了都是黑色。

onPause()盖一层界面

这种我使用了解决视频退出再进来时闪一下问题。

也就是onpause时盖上一层界面盖住,这个也是可以的,但个别情况下还是存在一些问题。最后我用了第一种方式解决。

参考文章

  1. Android最近任务预览页面,概览屏幕预览图修改,敏感信息预览图隐藏实现

 历史上的今天

  1. 2024: Android自定义音量曲线功能(0条评论)
  2. 2019: 张大千:做和尚的一百天(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

Only the original thread that created

在service中回调时通知界面刷新了数据,就提示了如下异常:Only the original thread that created a view hierarchy can touch its views.翻译了一下:只有创建了视图层次结构的原始线程才能访问它的视图意思就是只有在主U...

BiuTextView替代TextView

前言Android 高版本后,TextView走马灯耗CPU。使用BiuTextView替代TextView来实现跑马灯。注意,下面测试还要其他应用使用surfaceflinger,所以很高,我们只是对比同一环境下,BiuTextView和TextView跑马灯的情况。正文说明:D...

王小波:猫

下午,我回家的时候,看到地下室窗口的栅栏上趴着一只洁白的猫。它好象病了。我朝它走去时,它背对着我,低低的伏在那里,肚子紧紧的贴着铁条。我还从来没有见到过猫会这么谨小慎微的趴着,爪子紧紧的扒在铁条上。它浑身都在颤抖,头轻微的摇动着,耳朵在不停的转动,好象在追踪着每一个声响。它听见我的脚步声,每次我的...

Lambda编程简介

前言简单记录一下Lambda编程相关知识,方便自己查阅和学习。这里重点是理解lambda作为函数参数的使用。正文Lambda表达式Lambda表达式就是一个匿名函数,它是函数式编程的基础,所谓函数式编程实际上就是一种编程范式,即如何编写程序的方法论。函数式编程的思想是将计算机运算视为函数...

Android中persistent属性的简介

前言在Android中,有些应用没有通过Service或者Broadcast等启动他,但Application还是被启动了。经过查阅资料和看代码,发现android:persistent="true"的妙用之处。实现Application,然后AndroidManifest.xml中注册Ap...

低版本API废弃的警告Dialog

前言Android高版本上安装一些旧的APP,会存在会弹出对话框,内容:“此应用专为旧版Android打造,因此可能无法正常运行。请尝试检查更新或与开发者联系”。这样不是很友好,客户要求去掉。正文原因本质是Android高版本对启动应用的支持SDK的检测。下面是网上分析的,摘抄于此。...