SystemUI下拉通知菜单栏定时自动隐藏

前言

在系统应用开发过程中,常常遇到一些特殊的需求,Android原生的应用并无此适配,此时需要对系统应用进行定制化开发。
目前遇到的这样一个需求:下拉通知菜单栏时,定时8秒后自动关闭通知菜单栏。通知菜单栏为SytstemUI中的一个特殊窗口,原车系统不支持自动关闭。

开发

  1. 下拉菜单自动隐藏逻辑
    在原生NotificationPanelView类中,增加了下拉菜单展开回调:
    在这里插入图片描述
    以及下拉菜单收起回调:
    在这里插入图片描述
    同时增加触摸回调,触摸时再次更新延时退出:
    在这里插入图片描述
    StatusBar类注册监听处理收起逻辑:
    在这里插入图片描述
  2. 下拉菜单与系统弹框的互斥逻辑
    PanelBar类的触摸事件onTouchEvent()回调中,通过发送系统CLOSE_SYSTEM_DIALOGS广播通知其他应用隐藏显示的弹框。
  3. 自定义界面加载
    StatusBar类中createAndAddWindows()初始化自定义的systemui view的状态栏和下拉菜单控制器,createNavigationBar()初始化导航栏的控制器。
    在这里插入图片描述
    在这里插入图片描述
    WindowHelper承载着systemui view的初始化操作以及与原生SystemUI的交互操作,setPanelControl()为控制下拉菜单展开收起的方法,其中外部可通过此方法来控制下拉菜单展开和收起,例如语音和方控控制展开和收起。

总结

通过对原车SystemUI的定制化开发,扩展不同需求,从而不影响原车SystemUI功能,定时自动隐藏下拉通知菜单栏开发难度不到,需要修改的地方也不是很多,可以稳定兼容原车SystemUI。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/232212.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docke网络之bridge、host、none

一、bridge网络 1.创建一个测试容器 [rootlocalhost ~]# docker run -d -it --name busybox_1 busybox /bin/sh -c "while true;do sleep 3600;done" 03b308c847edd23f21ba69afb825d92f7aaeb05b1ff4431dd47ccee439a0361a 2.查看当前机器docker有哪些网络 [rootlocal…

NestJS的微服务实现

1.1 基本概念 微服务基本概念:微服务就是将一个项目拆分成多个服务。举个简单的例子:将网站的登录功能可以拆分出来做成一个服务。 微服务分为提供者和消费者,如上“登录服务”就是一个服务提供者,“网站服务器”就是一个服务消…

SSL 协议

SSL 是用于安全传输数据的一种通信协议。它采用公钥加密技术、对称密钥加密技术等保护两个应用之间的信息传输的机密性和完整性。但是,SSL 也有一个不足,就是它本身不能保证传输信息的不可否认性。 SSL 协议包括服务器认证、客户认证、SSL 链路上的数据完…

“高粘性,快速固化,耐高温,T泰D达K克PI聚酰亚胺专用UV胶!”

PI(聚酰亚胺)材料难以粘接,请选择: “高粘性,快速固化,耐高温,泰达克PI聚酰亚胺专用UV胶!” PI(聚酰亚胺)是一种具有耐高低温性能(在&#xff0d…

v4l2接收流程

内核media驱动目录结构 目录media/driver,子目录说明如下,主要列举本文中使用到的目录 目录功能I2C摄像头,解串器(max9296/9295等)platform控制器的驱动,例如mipi控制等v4l2_coreioctl 入口等media\common\videobuf2…

个人博客网站如何实现https重定向(301)到http

对于个人网站站注册比较少的,服务器配置不是很好的,没必要https,https跳转到http是要时间的,会影响网站打开的速度。免费的https每年都要更换。个人博客网站https有一段时间了,而且很多页面都有收录排名,现在已去掉htt…

Qt生成动态链接库并使用动态链接库

项目结构 整个工程由一个主程序构成和一个模块构成(dll)。整个工程的结构目录如下 Define.priMyProject.proMyProject.pro.user ---bin ---MainProgrammain.cppMainProgram.proMainProgram.pro.userwidget.cppwidget.hwidget.ui ---MathDllMathDll.proMathDll.pro.userMyMath.…

语音神经科学-01.The cortical organization of speech processing

The cortical organization of speech processing: Feedback control and predictive coding the context of a dual-stream model(在双流模型的背景下,语音处理的皮层组织涉及到反馈控制和预测编码。) 想了解双流模型,可以参考&…

Android 从assets读取文件装载成Bitmap,Kotlin

Android 从assets读取文件装载成Bitmap,Kotlin /*** fileName assets里面图片文件名*/fun readBitmapFromAssets(ctx: Context, fileName: String): Bitmap? {val assetManager: AssetManager ctx.assetsvar bitmap: Bitmap? nulltry {val inputStream assetMa…

对String类的操作 (超细节+演示)

[本节目标] 1.认识String类 2.了解String类的基本用法 3.熟练掌握String类的常见操作 4.认识字符串常量池 5.认识StringBuffer和StringBuilder 1.String类的重要性 在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针&…

redis主从复制【面试必看】

在分布式系统中,希望使用多个服务器来部署redis,存在以下几种redis的部署方式 主从模式主从哨兵集群模式 主从模式 在若干个redis节点中,有的是主节点,有的是从节点 假设有三个物理服务器(称为是三个节点&#xff…

1-4、JDK目录结构

语雀原文链接 文章目录 1、目录结构2、JDK中rt.jar、tools.jar和dt.jar作用3、bin目录部分说明(基本工具) 1、目录结构 bin目录:包含一些用于开发Java程序的工具,例如:编译工具(javac.exe)、运行工具 (java.exe) 、打…

【论文阅读笔记】序列数据的数据增强方法综述

【论文阅读笔记】序列数据的数据增强方法综述 摘要 这篇论文探讨了在深度学习模型中由于对精度的要求不断提高导致模型框架结构变得更加复杂和深层的趋势。随着模型参数量的增加,训练模型需要更多的数据,但人工标注数据的成本高昂,且由于客观…

kettle完成mysql表与表之间的更新和插入

版本:20231209 kettle完成数据库表与表之间的转换非常的简单,只需要在输入模块选择:输入表;在输出模块选择:插入和更新表模块 实例展示:将表stu1的数据同步到stu2,并覆盖掉stu2原本的数据。 cr…

Ubuntu 18.04使用Qemu和GDB搭建运行内核的环境

安装busybox 参考博客: 使用GDBQEMU调试Linux内核环境搭建 一文教你如何使用GDBQemu调试Linux内核 ubuntu22.04搭建qemu环境测试内核 交叉编译busybox 编译busybox出现Library m is needed, can’t exclude it (yet)的解释 S3C2440 制作最新busybox文件系统 https:…

【Com通信】Com模块详细介绍

目录 前言 1. Com模块功能介绍 2.关键概念理解 3.功能详细设计 3.1 Introduction 3.2 General Functionality 3.2.1 AUTOSAR COM basis 3.2.2 Signal Values 3.2.3 Endianness Conversion and Sign Extension 3.2.4 Filtering 3.2.5 Signal Gateway 3.3 Normal Ope…

Bean的作用域和生命周期

1. Bean的作用域 前引例子4 现在有一个公共的Bean对象,提供给A用户和B用户使用,然而在使用的时候A用户将Bean对象的数据进行修改,此时B得到的Bean对象是否是原来的Bean对象呢? Componentpublic class Users {Beanpublic User us…

人工智能原理复习--搜索策略(二)

文章目录 上一篇启发式搜索与或图搜索博弈下一篇 上一篇 人工智能原理复习–搜索策略(一) 启发式搜索 提高一般图搜索效率的关键是优化OPEN表中节点的排序方式 最理想的情况是每次排序OPEN表表首n总在解答路径上 全局排序–对OPEN表中的所有节点进行…

馆藏档案管理系统和数字档案管理系统的区别

馆藏档案管理系统是指传统的档案管理系统,主要包括档案馆内纸质档案的收集、整理、存储、保护、利用等工作。它的主要特点是针对纸质档案的管理,需要建立大量的文件柜、卷宗和保管设备,检索和借阅需要现场操作。 专久智能数字档案管理系统则是…

文献速递:多模态影像组学文献分享:多模态图注意力网络用于COVID-19预后预测

文献速递:多模态影像组学文献分享:多模态图注意力网络用于COVID-19预后预测 01 文献速递介绍 在处理像 COVID-19 这样的新出现的疾病时,患者和疾病特定因素(例如,体重或已知共病)对疾病的即时进展的影响…