adb shell am broadcast 手动发送广播及adb shell am/pm其他命令
在命令行可用adb shell am broadcast -a [action] 手动发送广播
adb shell am [command] 的用法:
首先看一下各部分的作用
adb shell , 进入到设备的shell模式;
am , 是activity manager的缩写,它可以启动activity,启动service,发送广播等
同样的道理 pm ,就是package manager的缩写.
启动一个activity
adb shell am start [option] [intent]
例如:
adb shell am start -a android.settings.ACTION_NAME
adb shell am start -n com.android.settings/.Activity_class_name
参数含义: -a, Action ; -n, Component
例如:打开系统设置
adb shell am start -n com.android.settings/.Activity_class_name
例如:打开系统设置-输入法设置
adb shell am start -a android.settings.INPUT_METHOD_SETTINGS
例如:通过包名+类名开启系统照相机
adb shell am start -n com.android.camera/.Camera
例如:打开拨号界面,直接拨打10086
adb shell am start -a android.intent.action.CALL -d tel:10086
参数含义: -d, DATA_URI
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
启动一个service
adb shell am startservice [option] [intent]
例如:
adb shell am startservice -a android.settings.ACTION_NAME
adb shell am startservice -n com.android.settings/.Service_class_name
反之,停止service就是把参数换成stopservice
- 1
- 2
- 3
- 4
- 5
- 6
- 7
发送一个broadcast
adb shell am broadcast [option] [intent]
例如:发送一个恢复出厂设置的广播
adb shell am broadcast -a android.intent.action.MASTER_CLEAR
例如:模拟手机低电环境
adb shell am broadcast -a android.intent.action.BATTERY_CHANGED --ei "level" 3 --ei "scale" 100
参数含义: --ei, [EXTRA_KEY, EXTRA_INT_VALUE] int类型键值对
但有时候会出现
java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.BATTERY_CHANGED from pid=9747, uid=2000
at android.os.Parcel.readException(Parcel.java:1683)
at android.os.Parcel.readException(Parcel.java:1636)
at android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.java:3609)
at com.android.commands.am.Am.sendBroadcast(Am.java:772)
at com.android.commands.am.Am.onRun(Am.java:404)
at com.android.internal.os.BaseCommand.run(BaseCommand.java:51)
at com.android.commands.am.Am.main(Am.java:121)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:310)
如果出现上面的错误, 就是没有执行权限,执行adb root, adb remount获取设备权限
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
强制关闭一个应用程序
adb shell am force-stop [PACKAGE]
例如:通过指定包名强制关闭设置
adb shell am force-stop com.android.settings
- 1
- 2
- 3
- 4
列举出所有包含[intent]的包名
adb shell pm list packages [option] [intent]
例如:列举包名含有com.android的package
adb shell pm list packages com.android
- 1
- 2
- 3
上面列举的这些是用的相对比较多一些的命令, 想了解更多adb shell am/pm 的命令或者各参数含义,可以在命令行输入
adb shell am 或 adb shell pm查看.
adb shell am broadcast 手动发送广播及adb shell am/pm其他命令的更多相关文章
- 在命令行中通过adb shell am broadcast发送广播通知
通过命令行执行adb shell am broadcast发送广播通知. adb shell am broadcast 后面的参数有:[-a <ACTION>][-d <DATA_U ...
- Android通过adb shell am broadcast发送广播 参数说明
通过命令行执行adb shell am broadcast发送广播通知. adb shell am broadcast 后面的参数有: <INTENT> specifications in ...
- Scrapy 框架 手动发送请求 POST 请求的发送
手动发送请求 import scrapy from choutiSpider.items import ChoutispiderItem class ChoutiSpider(scrapy.Spide ...
- 微信小游戏跳一跳简单手动外挂(基于adb 和 python)
只有两个python文件,代码很简单. shell.py: #coding:utf-8 import subprocess import math import os def execute_comm ...
- python与shell通过微信企业号发送消息
python与shell通过微信企业号发送信息,脚本来源于网络,做好搬运工,哈哈,相应的参考链接放在末位 shell版本: #!/bin/bash # CropID="xxxx" ...
- Awesome Adb——一份超全超详细的 ADB 用法大全【转】
本文转载自:https://juejin.im/entry/57c00fe4c4c971006179838a ADB,即 Android Debug Bridge,它是 Android 开发/测试人员 ...
- Awesome Adb——一份超全超详细的 ADB 用法大全
https://github.com/mzlogin/awesome-adb https://www.cnblogs.com/bravesnail/articles/5850335.html ...
- ADB模块源码分析(二)——adb server的启动
1. ADB Server的启动 前面我们讲到adb模块的源码在system/core/adb下面,通过查看Android.mk文件我们了解到这个adb 模块回编译生成连个可执行文件adb.adbd, ...
- Linux Shell系列教程之(十二)Shell until循环
本文是Linux Shell系列教程的第(十二)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上两篇文章Linux Shell系列教程之(十)Shell for循环和Lin ...
随机推荐
- POJ 3177 Redundant Paths (边双连通+缩点)
<题目链接> <转载于 >>> > 题目大意: 有n个牧场,Bessie 要从一个牧场到另一个牧场,要求至少要有2条独立的路可以走.现已有m条路,求至少要新 ...
- [ 严重 ] my网SQL注入
RANK 80 金币 100 数据包 POST maoyan.com/sendapp HTTP/1.1Host: xxx.maoyan.comUser-Agent: Mozilla/5.0 ( ...
- 克罗内克符号kronecker_delta
Kronecker delta 克罗内克函数 Wiki 维基百科 Kronecker delta 定义 \[\delta _{{ij}}={\begin{cases}0&{\text{if } ...
- wget用法汇总
wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能和特点: (1)支持断点下传功能:这一点,也是网络蚂蚁和F ...
- python执行方式及变量
.python执行方式 (1)交互式:调试方便,无法保存代码 (2)命令行方式:可以永久保存代码 (3)python执行阶段 先启动python解释器,解释器像文本编辑器一样将文件内容从硬盘读到内存, ...
- [NOIP2018]普及组初赛题解
老师布置的作业,借博客这个平台一用 [总体感觉]对我而言比去年的难度大……特别是最后一题. 选择题 1.D 打印机属于输出设备 2.D 将全部进制转换为10进制进行对比,我的方法是每一位乘以进制的位数 ...
- 沃尔夫勒姆自动机时空图输出 C语言实现
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> ...
- C++学习笔记48:链表的基本操作
//链表的基本操作 //生成链表,插入结点,查找结点,删除结点,遍历链表,清空链表 //链表类模板 //LinkedList.h #ifndef LINKEDLIST_H #define LINKED ...
- windows下安装mysql遇到的问题
windows下安装mysql5.6.41步骤:http://www.cnblogs.com/sjy18039225956/p/9203052.html 系统错误2详见MySQL安装过程net sta ...
- svn提交后 添加注释
svn 提交后添加注释 第一步: 第二步: 第三步:提交就可以了. 注意:如果svn服务器管理员没有激活pre-revprop-change这个hook,会出现 需要让svn服务器管理员没有激活pre ...