【Android源码】屏蔽系统通知出现在系统栏中
环境
aosp: android-14.0.0_r1
真机:Pixel5
目标
我想把usb连接的两个系统通知屏蔽掉
- “正在通过 USB 为此设备充电”
- “已连接到 USB 调试”
步骤
- 首先找到这两句内容出现的位置在
frameworks/base/core/res/res/values-zh-rCN/strings.xml
<string name="usb_charging_notification_title" msgid="1674124518282666955">"正在通过 USB 为此设备充电"</string><string name="adb_active_notification_title" msgid="408390247354560331">"已连接到 USB 调试"</string>
<string name="adb_active_notification_message" msgid="5617264033476778211">"点按即可关闭 USB 调试"</string>
- 然后找到代码实现的位置
分别是:
frameworks/base/core/java/android/debug/AdbNotifications.java
frameworks/base/services/usb/java/com/android/server/usb/UsbDeviceManager.java
Notification.Builder builder = new Notification.Builder(mContext, channel).setSmallIcon(com.android.internal.R.drawable.stat_sys_adb).setWhen(0).setOngoing(true).setTicker(title).setDefaults(0) // please be quiet.setColor(mContext.getColor(com.android.internal.R.color.system_notification_accent_color)).setContentTitle(title).setContentText(message).setContentIntent(pi).setVisibility(Notification.VISIBILITY_PUBLIC);if (titleRes== com.android.internal.R.string.usb_unsupported_audio_accessory_title) {builder.setStyle(new Notification.BigTextStyle().bigText(message));}Notification notification = builder.build();mNotificationManager.notifyAsUser(null, id, notification,UserHandle.ALL);Slog.d(TAG, "push notification:" + title);Log.w(TAG, "push notification:title=" + title + ";message=" + message);mUsbNotificationId = id;if (!mAdbNotificationShown) {Notification notification = AdbNotifications.createNotification(mContext,AdbTransportType.USB);mAdbNotificationShown = true;Log.w(TAG, "updateAdbNotification:id=" + id);mNotificationManager.notifyAsUser(null, id, notification, UserHandle.ALL);
}
主要是mNotificationManager.notifyAsUser()这个方法,它会把内容都通知出去。所以处理它就行,如果不想要所有的系统通知,屏蔽掉它就行。但我只是不想要两个内容。
修改如下:
Notification notification = builder.build();
if(message != null && !message.equals(r.getText(com.android.internal.R.string.usb_notification_message))) {mNotificationManager.notifyAsUser(null, id, notification,UserHandle.ALL);
}if (!mAdbNotificationShown) {Notification notification = AdbNotifications.createNotification(mContext, AdbTransportType.USB);mAdbNotificationShown = true;//mNotificationManager.notifyAsUser(null, id, notification, UserHandle.ALL);
}
很简单吧,最后测试通过!
相关文章:
【Android源码】屏蔽系统通知出现在系统栏中
环境 aosp: android-14.0.0_r1 真机:Pixel5 目标 我想把usb连接的两个系统通知屏蔽掉 “正在通过 USB 为此设备充电”“已连接到 USB 调试” 步骤 首先找到这两句内容出现的位置在 frameworks/base/core/res/res/values-zh-rCN/strings.xml <string name&…...
MySQL索引测试
在MySQL中,即使表中没有数据,查询优化器也会考虑使用索引来执行查询。但在某些情况下,查询优化器可能会选择不使用索引,这通常是基于成本效益分析的结果。 表中没有任何数据时,无论是否使用索引,查询结果都…...
【软件设计】常用设计模式--观察者模式
软件设计模式(四) 观察者模式一、观察者模式(Observer Pattern)1. 概念2. 模式结构3. UML 类图4. 实现方式C# 示例步骤1:定义观察者接口步骤2:定义主题接口步骤3:实现具体主题步骤4:…...
东北非国企就职体验
有感而发,校招毕业选了个非央国企但偏稳的工作,属于事儿少离家近钱还可以。不忙,收入在东北也还不错,可是看到近期那些考上公务员那些有编制的pyq,真的是很感叹他们的生活真的是丰富多彩。 虽然我不忙,但是…...
经典sql题(二)求连续登录最多天数用户
示例数据 假设我们的 test 表有以下数据: iddate12023-10-01 08:00:0012023-10-02 09:00:0012023-10-03 10:00:0012023-10-05 11:00:0022023-10-01 10:00:0022023-10-02 12:00:0022023-10-03 14:00:0022023-10-04 15:00:0032023-10-01 16:00:0032023-10-02 16:00:…...
A. Closest Point
time limit per test 2 seconds memory limit per test 512 megabytes Consider a set of points on a line. The distance between two points ii and jj is |i−j||i−j|. The point ii from the set is the closest to the point jj from the set, if there is no othe…...
沟通更高效:微信群转移至企业微信操作攻略!
微信群转移到企业微信并不难,具体操作如下: 打开移动端企业微信主页,找到微信聊天栏中的【接收微信中的工作消息】; 点击【前往微信选择群聊】, 跳转到微信; 选择微信上的工作群聊,只能选择作…...
计算机毕业设计 基于Python Django的旅游景点数据分析与推荐系统 Python+Django+Vue 前后端分离 附源码 讲解 文档
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
关于安卓App自动化测试的一些想法
安卓App自动化一般使用PythonAppium。页面元素通常是使用AndroidStudio中的UI Automator Viewer工具来进行页面元素的追踪。但是这里涉及到一个问题就是,安卓apk在每次打包的时候,会进行页面的混淆以及加固,所以导致每次apk打包之后会出现页面…...
Bigemap GIS Office 2024注册机 全能版地图下载软件
对于需要利用GIS信息进行编辑、设计的用户来说,Bigemap GIS Office占有重要地位。用户可以使用Bigemap GIS Office作为工具进行设计、分析、共享、管理和发布地理信息。Bigemap GIS Office能实现多种数据流转、嵌入、融合以及更多地为用户提供数据的增强处理及多种分…...
秦时明月6.2魔改版+GM工具+虚拟机一键端
今天给大家带来一款单机游戏的架设:秦时明月。 另外:本人承接各种游戏架设(单机联网) 本人为了学习和研究软件内含的设计思想和原理,带了架设教程仅供娱乐。 教程是本人亲自搭建成功的,绝对是完整可运行…...
firewalld实现NAT端口转发
1、准备工作 # 开启 NAT 转发 firewall-cmd --permanent --zonepublic --add-masquerade # 开放 DNS 使用的 80 端口,tcp# 必须,否则其它机器无法进行域名解析 firewall-cmd --zonepublic --add-port80/tcp --permanent # 检查是否允许 NAT 转发 f…...
中国电子学会202309青少年软件编程(Python)等级考试试卷(二级)真题
青少年软件编程(Python)等级考试试卷(二级) 分数:100 题数:37 一、单选题(共25题,每题2分,共50分) 1、 yyh = [2023, 杭州亚运会, [拱宸桥, 玉琮莲叶]] jxw = yyh[2][0] print(jxw[1] * 2)以上代码运行结果是?( ) A. 宸宸 B. 杭杭 C. 玉玉 D. 州州 2、阿宝…...
第四天旅游线路预览——从贾登峪到喀纳斯景区入口(贾登峪游客服务中心)
第四天:从贾登峪到喀纳斯风景区入口,晚上住宿贾登峪; 从贾登峪到喀纳斯景区入口(贾登峪游客服务中心): 搭乘贾登峪①路车,路过三湾到达景区换乘中心,路程时长约40分钟; …...
个人常用命令
文章目录 linux命令基本命令screen docker命令 linux命令 基本命令 查看文件大小:sudo du -sh /文件路径 查看当前目录下所有文件夹大小,不进行递归:sudo du -h --max-depth1 远程复制文件:rsync -avz -e ssh -p 端口号 ip地址:/远程文件地…...
如何根据协议请求去捕捉在个文件中发出去的
场景:随着业务越来越复杂,一个“触发”可能发出去N个协议,此时有某一个协议发生了报错,需要去找这个协议,去文件中走读逻辑,去找该协议,效率很慢,业务极其复杂的情况下,很…...
Lombok -----此java库 常用的注解及其功能总结
总结 Lombok 是一个 Java 库,它可以帮助开发者减少在 Java 中编写那些繁琐的“boilerplate”代码的工作量,比如 getter 方法、setter 方法、构造函数、toString 方法等。 通过简单的注解,Lombok 能够自动为你的类生成这些方法…...
纯前端表格导出Excel
先写好两个js文件 直接复制粘贴 文件目录是这样的 Bolb.js /* eslint-disable */ /* Blob.js* A Blob implementation.* 2014-05-27** By Eli Grey, http://eligrey.com* By Devin Samarin, https://github.com/eboyjr* License: X11/MIT* See LICENSE.md*//*global self, …...
sourceTree保姆级教程7:(合并某次提交)
在日常开发过程中,大家有时候并非都是在同一个分支进行开发,可能存在多人的情况下开发。根据上线的需求依次提交代码。当然也可能存在交叉提交的情况。此时应如何在master分支去合并具体某一次的提交呢?下面就开始了: 1.打开本地…...
JVM面试知识点手册
第一部分:JVM 概述 1.1 JVM 简介 Java Virtual Machine(JVM) 是 Java 语言的核心组件,负责将 Java 程序编译后的字节码(bytecode)转换为机器指令,并在目标机器上执行。JVM 提供了硬件和操作系…...
解锁5大核心能力:BetterJoy让Switch手柄在PC实现专业级控制
解锁5大核心能力:BetterJoy让Switch手柄在PC实现专业级控制 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode…...
AI转PSD终极指南:如何将Illustrator矢量完美导入Photoshop
AI转PSD终极指南:如何将Illustrator矢量完美导入Photoshop 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 还在为设计软件之间的格…...
收藏必备!小白程序员轻松入门大模型,带你理清AI核心概念全框架
AI浪潮已经刮了一年多,身边越来越多人聊AI,张口就是“agent”“skill”,听得人只能点头附和,似懂非懂?其实不是听不懂,而是没有把这些概念串起来,告诉你它们到底是什么、彼此有啥关系。 咱不聊复…...
缠论可视化革命:四维分析模型如何重构交易决策逻辑
缠论可视化革命:四维分析模型如何重构交易决策逻辑 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 一、问题重构:当技术分析成为交易认知的枷锁 凌晨3点,量化交易员陈…...
S-UI配置文件加密终极指南:保护敏感信息的最佳实践 [特殊字符]
S-UI配置文件加密终极指南:保护敏感信息的最佳实践 🔒 S-UI是一款基于SagerNet/Sing-Box构建的高级Web面板,提供多协议支持和流量管理功能。在使用过程中,配置文件包含大量敏感信息,如API密钥、用户数据和服务器配置&…...
实战应用:基于快马平台开发类似ahflt.sys的文件操作监控工具
实战应用:基于快马平台开发类似ahflt.sys的文件操作监控工具 最近在研究Windows内核驱动开发时,发现ahflt.sys这类文件系统过滤驱动特别有意思。它能够在系统底层监控文件操作,实现各种高级功能。作为一个开发者,我决定在InsCode…...
无源光网络-PON
一、无源光网络-PON简介1.1 无源光网络定义无源光网络(PON) 是一种点到多点的光纤接入技术,全程采用无源光器件(光分路器、光纤、光接头等,无电源、无电子电路)实现信号传输。1.2 核心要点1.2.1 特点无源&a…...
终极指南:3步快速备份QQ空间完整历史记录,永久保存青春回忆
终极指南:3步快速备份QQ空间完整历史记录,永久保存青春回忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还在为QQ空间里那些珍贵的青春记忆可能随时消失而担忧…...
自己做SEO时有哪些容易被忽视的关键点_SEO 自己怎么做
自己做SEO时容易被忽视的关键点 在当今的互联网时代,搜索引擎优化(SEO)已经成为每个网站主的必修课。在自己做SEO时,有些关键点往往会被忽视,导致网站的流量和排名并未达到最佳效果。本文将深入探讨这些容易被忽视的关…...
5分钟快速部署:如何将手机摄像头变为电脑摄像头终极指南
5分钟快速部署:如何将手机摄像头变为电脑摄像头终极指南 【免费下载链接】droidcam GNU/Linux/nix client for DroidCam 项目地址: https://gitcode.com/gh_mirrors/dr/droidcam 想让闲置的安卓手机变身高清电脑摄像头吗?DroidCam正是你需要的免费…...
