增加日志定位toast来源

目录

相关问题

案例

分析解决


相关问题

安卓系统集成应用有时会遇到莫名的toast弹框,不清楚是哪个应用,可能频繁弹框影响体验,需要定位来源。

案例

终端未接U盘,却弹出如上toast,需要定位分析来源

分析解决

frameworks/base/core/java/android/widget/Toast.java

在handleShow中增加合适的打印找到包名

diff --git a/frameworks/base/core/java/android/widget/Toast.java b/frameworks/base/core/java/android/widget/Toast.java
old mode 100644
new mode 100755
index b35eb065e3..7ccc4cdf76
--- a/frameworks/base/core/java/android/widget/Toast.java
+++ b/frameworks/base/core/java/android/widget/Toast.java
@@ -689,6 +689,12 @@ public class Toast {
             if (mHandler.hasMessages(CANCEL) || mHandler.hasMessages(HIDE)) {
                 return;
             }
+            if("true".equals(SystemProperties.get("persist.sys.skip_toast","true"))){
+                TextView tv = mNextView.findViewById(com.android.internal.R.id.message);
+                if(tv != null && tv.getText().toString().contains("U盘已插入")){
+                    Log.i(TAG,"found special toast ... package:" + mNextView.getContext().getOpPackageName());
+                }
+            }
             if (mView != mNextView) {
                 // remove the old view if necessary
                 handleHide();

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

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

相关文章

曲线积分与曲面积分

1数量函数曲线积分与曲面积分 1.1回顾黎曼积分 回顾之前的定积分是直线积分。 1.1曲线积分的几何意义 1.2曲线积分的性质 1.3中值定理 1.4曲线积分的计算方法 公式里的弧微分:弧微分的几何意义是用一条线段的长度来近似代表一段弧的长度。 图中MT的长度即为弧M…

Java基础面向对象(包装类)

是对八大基本类型做的封装, 使其保留各自的数据特征, 同时变为引用类型, 可以接收存储null值并且也能调用方法 BYTESHORTINTLONGFLOATDOUBLECHARBOOLEANByteShortIntegerLongFloatDoubleCharacterBoolean 基本类型与包装类型 JDK5.0之后, 两者之间可以自动完成封箱与拆箱(自…

2024年12月3日Github流行趋势

项目名称:Lobe Chat 项目维护者:arvinxx, semantic-release-bot, canisminor1990, lobehubbot, renovate项目介绍:一个开源的、现代化设计的人工智能聊天框架。支持多种AI提供商(OpenAI / Claude 3 / Gemini / Ollama / Qwen / De…

【AI系统】推理系统引言

引言 在深入探究 AI 编译原理之后,将进一步迈向一个与日常生活紧密相连的新领域。这个领域无处不在,无论是日常使用的购物应用、观看在线视频的平台,还是钟爱的游戏,它们都与这个领域息息相关。该领域,便是推理系统与…

服务器与普通电脑有什么区别?

服务器和普通电脑(通常指的是个人计算机,即PC)有众多相似之处,主要构成包含:CPU,内存,芯片,I/O总线设备,电源,机箱及操作系统软件等,鉴于使用要求…

计算机网络 —— HTTPS 协议

前一篇文章:计算机网络 —— HTTP 协议(详解)-CSDN博客 目录 前言 一、HTTPS 协议简介 二、HTTPS 工作过程 1.对称加密 2.非对称加密 3.中间人攻击 4.引入证书 三、HTTPS 常见问题 1.中间人能否篡改证书? 2.中间人能否调…

嵌入式 C 编程:const 关键字 —— 打造稳定的常量空间

目录 一、const关键字的基本含义与用法 1.1. 修饰基本数据类型 1.2. 修饰指针 1.3. 修饰数组 1.4. 修饰结构体 二、const关键字在嵌入式编程中的优势 2.1. 提升代码可读性 2.2. 增强代码安全性 2.3. 优化内存使用 2.4. 促进模块化设计 2.5. 支持静态分析和测试 三、…

信创改造 - Redis -》TongRDS 安装方式之单节点模式安装

安装前准备 安装 JDK 参考链接:安装 JDK 8【Linux】 语雀 创建用户 # 用户名可以自己起 useradd rds 上传安装包到服务器 单节点模式是由两个部署单元组成:1 个RDS 服务节点,1 个 RDS 中心节点。 上传到 /home/rds 用户文件夹&#xff0…

【layui】tabs 控件内通过 iframe 加载url 方式渲染tab页面

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>tabs 内部使用 iframe 嵌套 url 页面</title><link rel"stylesheet" href"../../../libs/layui/layui-2.4.5/dist/css/layui.css"><scr…

Tomcat新手成长之路:安装部署优化全解析(上)

文章目录 1.Tomcat简介2.Tomcat原理架构2.1.总体架构2.2.连接器2.2.1.具体功能2.2.2.IO模型2.2.3.逻辑处理流程2.2.4.内部处理流程 2.3.容器2.4.启动过程2.5.请求过程 3.Tomcat适用场景4.Tomcat与其他Web容器对比5.Tomcat安装和启动5.1.Java环境变量5.2.系统服务5.3.启动关闭 6…

Pycharm 安装两种不同版本的解释器

背景 Pycharm使用的解释器是python3.11&#xff0c;python3.9.x之后不支持win7&#xff1b;有同事需要在win7上使用python制作的exe&#xff0c;而了“win7环境下运行python打包exe提示找不到api-ms-win-core-path-l1-1-0.dll”。 过程 查找了一些资料&#xff0c;发现直接将…

【python自动化一】pytest的基础使用

1.pytest简述 pytest‌ 是一个功能强大且灵活的Python测试框架&#xff0c;其主要是用于流程控制&#xff0c;具体用于UI还是接口自动化根据个人需要而定。且其具有丰富插件&#xff0c;使用时较为方便。咱们具体看下方的内容&#xff0c;本文按照使用场景展开&#xff0c;不完…

基于米尔全志T527开发板的FacenetPytorch人脸识别方案

本篇测评由优秀测评者“小火苗”提供。 本文将介绍基于米尔电子MYD-LT527开发板&#xff08;米尔基于全志 T527开发板&#xff09;的FacenetPytorch人脸识别方案测试。 一、facenet_pytorch算法实现人脸识别 深度神经网络 1.简介 Facenet-PyTorch 是一个基于 PyTorch 框架实…

ECharts柱状图-交错正负轴标签,附视频讲解与代码下载

引言&#xff1a; 在数据可视化的世界里&#xff0c;ECharts凭借其丰富的图表类型和强大的配置能力&#xff0c;成为了众多开发者的首选。今天&#xff0c;我将带大家一起实现一个柱状图图表&#xff0c;通过该图表我们可以直观地展示和分析数据。此外&#xff0c;我还将提供…

【Linux】线程池设计 + 策略模式

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Linux 目录 一&#xff1a;&#x1f525; 线程池 1-1 ⽇志与策略模式1-2 线程池设计1-3 线程安全的单例模式1-3-1 什么是单例模式1-3-2 单例模式的特点1-3-3 饿汉实现⽅式和懒汉实现⽅式1-3-4 饿汉…

Spring Boot 3 集成 Spring Security + JWT

文章目录 Spring Boot 3 集成 Spring Security JWT准备工作引入依赖设计表结构生成基本代码白名单配置 JWT配置配置参数jwt密码、过期时间等自定义未授权和未登录结果返回创建JWT过滤器 改写SecurityConfig登录验证启动查看接口未登录登录 总结 Spring Boot 3 集成 Spring Sec…

tauri使用github action打包编译多个平台arm架构和inter架构包踩坑记录

这些error的坑&#xff0c;肯定是很多人不想看到的&#xff0c;我的开源软件PakePlus是使用tauri开发的&#xff0c;PakePlus是一个界面化将任何网站打包为轻量级跨平台软件的程序&#xff0c;利用Tauri轻松构建轻量级多端桌面应用和多端手机应用&#xff0c;为了实现发布的时候…

【娱乐项目】竖式算术器

Demo介绍 一个加减法随机数生成器&#xff0c;它能够生成随机的加减法题目&#xff0c;并且支持用户输入答案。系统会根据用户输入的答案判断是否正确&#xff0c;统计正确和错误的次数&#xff0c;并显示历史记录和错题记录。该工具适合用于数学练习&#xff0c;尤其适合练习基…

D86【python 接口自动化学习】- pytest基础用法

day86 pytest配置testpaths 学习日期&#xff1a;20241202 学习目标&#xff1a;pytest基础用法 -- pytest配置testpaths 学习笔记&#xff1a; pytest配置项 主目录创建pytest.ini文件 [pytest] testpaths./testRule 然后Terminal里直接命令&#xff1a;pytest&#xff…

LeetCode1556. 千位分隔数 LeetCode9. 回文数

题目一、1556. 千位分隔数 给你一个整数 n&#xff0c;请你每隔三位添加点&#xff08;即 "." 符号&#xff09;作为千位分隔符&#xff0c;并将结果以字符串格式返回。 示例 1&#xff1a; 输入&#xff1a;n 987 输出&#xff1a;"987"示例 2&#xff…