前言

在开发过程中有时候我们需要做一些调试工作。可以通过adb发送广播实现。

广播注册

注意最后一个参数,Context.RECEIVER_EXPORTED 这是Android 34以后强制要求的,方便外部发送这个广播。否则会报错

		 val filter = IntentFilter()filter.addAction("com.aaa.bbb.ccc.running.test")context?.let {mLogger.d("registerReceiver is success")it.applicationContext.registerReceiver(testReceiver, filter, Context.RECEIVER_EXPORTED)}

广播监听器

private var testReceiver: BroadcastReceiver = object : BroadcastReceiver() {override fun onReceive(context: Context?, intent: Intent?) {var appState = intent?.getStringExtra("appState");mLogger.w("接收到状态 appState=" + appState)if ("error".equals(appState)) {recordServiceStared = false;}}}

adb 发射命令

其中 -a 后面是上面的Action。
-es 后面跟的是参数

adb shell am broadcast -a com.aaa.bbb.ccc.running.test --es appState "error"
参数类型含义示例
--esString添加一个字符串(String)类型的 Extra--es key "value"
--ezBoolean添加一个布尔值(true/false)--ez key true
--eiInteger添加一个整数(int)--ei key 123
--elLong添加一个长整型(long)--el key 1234567890
--efFloat添加一个浮点数(float)--ef key 3.14
--euURI添加一个 URI 类型--eu key content://media/external/audio/media/1
--ecnComponentName添加一个组件名(用于指定接收器)--ecn key com.example.app/.MyReceiver
--eiaint[] Array添加整型数组--eia key 1 2 3
--elalong[] Array添加长整型数组--ela key 1000 2000 3000
--efafloat[] Array添加浮点数组--efa key 1.1 2.2 3.3
--esaString[] Array添加字符串数组--esa key "a" "b" "c"
--esnnull添加一个 null 值--esn key

补充

有时候应用没有退出,这个时候监听器没有生效。需要杀了app,重试

adb shell am force-stop <包名>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90675.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90675.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/90675.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Web安全】逻辑漏洞之URL跳转漏洞:原理、场景与防御

文章目录前言一、漏洞本质二、攻击原理正常跳转流程漏洞触发流程三、抓包的关键时机&#xff1a;跳转参数生成时四、风险场景1.登录/注册后跳转2.退出登录跳转3.分享/广告链接跳转4.密码重置链接跳转五、漏洞挖掘&#xff1a;怎么找到这种漏洞&#xff1f;1.找到跳转参数2.篡改…

新手开发 App,容易陷入哪些误区?

新手开发 App 时&#xff0c;常因对流程和用户需求理解不足陷入误区&#xff0c;不仅拖慢进度&#xff0c;还可能导致产品无人问津。​功能堆砌是最常见的陷阱。不少新手总想 “一步到位”&#xff0c;在初期版本就加入十几项功能&#xff0c;比如做社区团购 App 时&#xff0c…

Linux学习篇11——Linux软件包管理利器:RPM与YUM详解与实战指南,包含如何配置失效的YUM镜像地址

引言 本文主要梳理 Linux 系统中的软件包的概念&#xff0c;同时介绍RPM与YUM两大核心管理工具的常用指令、区别联系以及实战技巧等。本文作为作者学习Linux系统的第11篇文章&#xff0c;依旧旨在总结当前的学习内容&#xff0c;同时巩固知识以便日后的学习复习回顾。如有说的…

Vue3+ElementPlus实现可拖拽/吸附/搜索/收起展开的浮动菜单组件

在开发后台管理系统时&#xff0c;我们经常会用到浮动菜单来快速访问某些功能。本篇文章将分享一个基于 Vue3 ElementPlus 实现的浮动菜单组件&#xff0c;支持拖拽移动、边缘吸附、二级菜单展开、菜单搜索过滤、视频弹窗等交互效果&#xff0c;极大提升了用户操作的便捷性与美…

CSS 盒子模型学习版的理解

文章目录一、盒子模型构建流程&#xff08;一句话抓关键&#xff09;二、核心逻辑提炼三、代码验证四、一句话总结流程通过手绘图示&#xff0c;清晰拆解 Content&#xff08;内容&#xff09;→ Padding&#xff08;内边距&#xff09;→ Border&#xff08;边框&#xff09;→…

解决线程安全的几个方法

线程安全&#xff1a;线程安全问题的发现与解决-CSDN博客 Java中所使用的并发机制依赖于JVM的实现和CPU的指令。 所以了解并掌握深入Java并发编程基础的前提知识是熟悉JVM的实现了解CPU的指令。 1.volatile简介 在多线程并发编程中&#xff0c;有两个重要的关键字&#xff1a…

大模型应用班-第2课 DeepSeek使用与提示词工程课程重点 学习ollama 安装 用deepseek-r1:1.5b 分析PDF 内容

DeepSeek使用与提示词工程课程重点Homework&#xff1a;ollama 安装 用deepseek-r1:1.5b 分析PDF 内容python 代码建构&#xff1a;1.小模型 1.5b 可以在 笔记本上快速执行2.分析结果还不错3. 重点是提示词 prompt 的写法一、DeepSeek模型创新与特点1. DeepSeek-V3模型特点采用…

在FreeBSD系统下使用llama-cpp运行飞桨开源大模型Ernie4.5 0.3B(失败)

先上结论&#xff0c;截止到目前2025.7.25日&#xff0c;还不能用。也就是Ernie4.5模型无法在llama.cpp 和Ollama上进行推理&#xff0c;原因主要就llama是不支持Ernie4.5异构MoE架构。 不局限于FreeBSD系统&#xff0c;Windows也测试失败&#xff0c;理论上Ubuntu下也是不行。…

OpenCV图像梯度、边缘检测、轮廓绘制、凸包检测大合集

一、图像梯度 在图像处理中&#xff0c;「梯度&#xff08;Gradient&#xff09;」是一个非常基础但又极其重要的概念。它是图像边缘检测、特征提取、纹理分析等众多任务的核心。梯度的本质是在空间上描述像素灰度值变化的快慢和方向。 但我们如何在图像中计算梯度&#xff1f;…

GitHub 趋势日报 (2025年07月25日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图1814Resume-Matcher985neko714Qwen3-Coder622OpenBB542BillionMail486hrms219hyper…

编程语言Java——核心技术篇(五)IO流:数据洪流中的航道设计

&#x1f31f; 你好&#xff0c;我是 励志成为糕手 &#xff01; &#x1f30c; 在代码的宇宙中&#xff0c;我是那个追逐优雅与性能的星际旅人。 ✨ 每一行代码都是我种下的星光&#xff0c;在逻辑的土壤里生长成璀璨的银河&#xff1b; &#x1f6e0;️ 每一个算法都是我绘制…

基于FPGA的16QAM软解调+卷积编码Viterbi译码通信系统,包含帧同步,信道,误码统计,可设置SNR

目录 1.引言 2.算法仿真效果 3.算法涉及理论知识概要 3.1 16QAM调制软解调原理 3.2 帧同步 3.3 卷积编码&#xff0c;维特比译码 4.Verilog程序接口 5.参考文献 6.完整算法代码文件获得 1.引言 基于FPGA的16QAM软解调卷积编码Viterbi译码通信系统开发,包含帧同步,高斯…

Python数据分析基础(二)

一、Numpy 常用函数分类概览函数类别常用函数基本数学函数np.sum(x)、np.sqrt(x)、np.exp(x)、np.log(x)、np.sin(x)、np.abs(x)、np.power(a, b)、np.round(x, n) 等统计函数np.mean(x)、np.median(x)、np.std(x)、np.var(x)、np.min(x)、np.max(x)、np.percentile(x, q) 等比…

Colab中如何临时使用udocker(以MinIO为例)

本文主要是想记录一下自己在Colab中用udocker启动一个MinIO的容器的过程。 1. 命令行配置环境 由于目前没有用到GPU&#xff0c;所以我选择的是CPU的环境。(内存12G)然后就可以在命令行里安装udocker了&#xff0c;并配置minio的环境 # 由于minio需要做两个端口映射&#xff0c…

rt-thread 5.2.1 基于at-start-f437开发过程记录

基于rt-thread 5.2.1 bsp/at/at32f437-start进行开发&#xff0c;记录详细过程&#xff0c;包括中间遇到的各种坑。 at32f437-start原理图 自己设计的电路板主要换了一块小封装的同系列芯片, 目标是移植opENer。 1. 开发环境 env长时间不用&#xff0c;有点忘了。这次新下载…

EMCCD相机与电可调变焦透镜的同步控制系统设计与实现

EMCCD相机与电可调变焦透镜的同步控制系统设计与实现 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff0c;觉得好请收藏。点击跳转到网站。 摘要 本文详细介绍了基于Python的EMCCD相机&#xff0…

前缀和-560.和为k的子数组-力扣(LeetCode)

一、题目解析1.子数组是数组中元素的连续非空序列2.nums[i]范围为[-1000,1000]&#xff0c;存在负数3.由于2的题目条件&#xff0c;该题不能用双指针算法&#xff0c;不具备单调性 二、算法原理解法1&#xff1a;暴力解法->枚举 O(N^2)固定一个值&#xff0c;向后枚举数组和…

解决企业微信收集表没有图片、文件组件,不能收集图片的问题

问题&#xff1a; 企业微信里面的收集表功能&#xff0c;有一个图片收集的收集表&#xff0c;但是插入的组件没有收集图片的组件&#xff1f; 原因&#xff1a; 大概率是微盘未启用 解决方法&#xff1a; 1、登陆企业微信管理后台 企业微信 2、访问微盘页面&#xff0c;…

认识单片机

《认识单片机》课程内容 一、课程导入 在我们的日常生活中&#xff0c;有很多看似普通却充满智慧的小物件。比如家里的智能电饭煲&#xff0c;它能精准地控制煮饭的时间和温度&#xff0c;让米饭煮得香喷喷的&#xff1b;还有楼道里的声控灯&#xff0c;当有人走过发出声音时&a…

数据结构(2)顺序表算法题

一、移除元素1、题目描述2、算法分析 思路1&#xff1a;查找val值对应的下标pos&#xff0c;执行删除pos位置数据的操作。该方法时间复杂度为O&#xff08;n^2&#xff09;&#xff0c;因此不建议使用。思路2&#xff1a;创建新数组&#xff08;空间大小与原数组一致&#xff0…