上一篇
手机如何命令发送广播?
- 电脑教程
- 2025-06-08
- 2948
在安卓手机上,通过ADB发送广播需先启用USB调试并连接电脑,然后在命令行输入
adb shell am broadcast -a 广播名称
即可发送指定广播。
准备工作
- 开启开发者模式
- 进入手机「设置」→「关于手机」→连续点击「版本号」7次激活开发者选项。
- 返回「设置」→「系统」→「开发者选项」→开启「USB调试」。
- 风险提示
- 错误命令可能导致应用崩溃或系统异常,建议备份数据。
- 部分命令需Root权限(如涉及系统级广播)。
方法一:通过电脑ADB工具发送(无需Root)
适用场景:调试应用、模拟系统事件(如电量变化、网络切换)。
所需工具:Android SDK Platform-Tools(官方ADB工具)。
操作步骤:
-
连接手机与电脑
- 用USB线连接设备,在手机弹出提示中勾选「允许USB调试」。
- 电脑解压下载的ADB工具,打开命令行(Windows:CMD;Mac/Linux:终端)。
-
验证连接
adb devices
若显示设备ID(如
ABCDEF123456 device
),表示连接成功。 -
发送广播命令
- 通用格式:
adb shell am broadcast -a [广播名称] -e [额外参数键] [值]
- 示例:
- 模拟低电量警告(15%):
adb shell am broadcast -a android.intent.action.BATTERY_LOW -e battery_level 15
- 强制刷新天气数据(需应用支持):
adb shell am broadcast -a com.example.app.FORCE_UPDATE
- 模拟低电量警告(15%):
- 通用格式:
方法二:通过手机终端模拟器发送(部分需Root)
适用场景:无电脑环境、自动化脚本(如Tasker联动)。
所需工具:Termux(终端模拟器)或 Shizuku(免Root权限工具)。
操作步骤:
-
安装工具
- 从应用商店安装 Termux(需Android 7.0+)。
- 若需发送系统广播(如开关蓝牙),建议配合 Shizuku 或获取Root权限。
-
发送广播命令
- 基础命令(在Termux中输入):
am broadcast -a [广播名称]
- 需Root权限的示例(如重启系统UI):
su # 获取Root权限 am broadcast -a android.intent.action.BOOT_COMPLETED
- 免Root替代方案(通过Shizuku):
shizuku -c 'am broadcast -a android.intent.action.ACTION_POWER_DISCONNECTED'
- 基础命令(在Termux中输入):
常见广播命令示例
用途 | 命令 |
---|---|
模拟充电状态 | adb shell am broadcast -a android.intent.action.ACTION_POWER_CONNECTED |
关闭所有通知 | adb shell am broadcast -a android.intent.action.CLOSE_SYSTEM_DIALOGS |
触发应用强制更新 | adb shell am broadcast -a com.yourapp.PACKAGE_UPDATED |
清空应用数据(需Root) | adb shell pm clear com.example.app |
注意事项
- 权限限制
- 系统保护性广播(如
BOOT_COMPLETED
)需Root或Shizuku授权。 - 第三方应用广播需知晓其完整Action名称(开发者文档查询)。
- 系统保护性广播(如
- 安全建议
- 避免发送未知广播:错误操作可能导致系统服务异常。
- 敏感操作(如
android.intent.action.MASTER_CLEAR
恢复出厂)需绝对谨慎。
- 错误排查
- 若命令无效,检查广播名称拼写或应用权限设置。
- ADB连接失败时,重新插拔USB线或重启ADB服务(
adb kill-server
)。
引用说明
- Android开发者文档:Broadcast 机制详解
- ADB官方指南:Android Debug Bridge (ADB)
- 免Root方案参考:Shizuku 开源项目
重要提示基于Android 11+系统验证,不同机型可能存在差异,非开发者用户建议在熟悉命令后操作,或咨询应用开发者获取定制广播指令。