版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zi_zhe/article/details/72229201

在命令行可用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其他命令的更多相关文章

  1. 在命令行中通过adb shell am broadcast发送广播通知

    通过命令行执行adb shell am broadcast发送广播通知. adb shell am broadcast 后面的参数有:[-a <ACTION>][-d <DATA_U ...

  2. Android通过adb shell am broadcast发送广播 参数说明

    通过命令行执行adb shell am broadcast发送广播通知. adb shell am broadcast 后面的参数有: <INTENT> specifications in ...

  3. Scrapy 框架 手动发送请求 POST 请求的发送

    手动发送请求 import scrapy from choutiSpider.items import ChoutispiderItem class ChoutiSpider(scrapy.Spide ...

  4. 微信小游戏跳一跳简单手动外挂(基于adb 和 python)

    只有两个python文件,代码很简单. shell.py: #coding:utf-8 import subprocess import math import os def execute_comm ...

  5. python与shell通过微信企业号发送消息

    python与shell通过微信企业号发送信息,脚本来源于网络,做好搬运工,哈哈,相应的参考链接放在末位 shell版本: #!/bin/bash # CropID="xxxx" ...

  6. Awesome Adb——一份超全超详细的 ADB 用法大全【转】

    本文转载自:https://juejin.im/entry/57c00fe4c4c971006179838a ADB,即 Android Debug Bridge,它是 Android 开发/测试人员 ...

  7. Awesome Adb——一份超全超详细的 ADB 用法大全

    https://github.com/mzlogin/awesome-adb https://www.cnblogs.com/bravesnail/articles/5850335.html     ...

  8. ADB模块源码分析(二)——adb server的启动

    1. ADB Server的启动 前面我们讲到adb模块的源码在system/core/adb下面,通过查看Android.mk文件我们了解到这个adb 模块回编译生成连个可执行文件adb.adbd, ...

  9. Linux Shell系列教程之(十二)Shell until循环

    本文是Linux Shell系列教程的第(十二)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上两篇文章Linux Shell系列教程之(十)Shell for循环和Lin ...

随机推荐

  1. 更新pip和setuptools

    python -m pip install -U pip setuptools

  2. POJ 2455 Secret Milking Machine 【二分】+【最大流】

    <题目链接> 题目大意: FJ有N块地,这些地之间有P条双向路,每条路的都有固定的长度l.现在要你找出从第1块地到第n块地的T条不同路径,每条路径上的路段不能与先前的路径重复,问这些路径中 ...

  3. Mysql:数据库导入导出

    Mysql:数据库导入导出 Mysql数据库导出 mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文件名 1.mysqldump是在cmd下的命令,需要在linux命令行 ...

  4. 2154 杭电 数学规律 ACM

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2154 很简单的找规律的数学题目: 思路:因为挑完N次后都要跳回A,所以相当于挑N-1次后必须留在B C区域 ...

  5. (文件操作)Android相关的File文件操作

    判断文件是否存在: /** * 判断文件是否存在 * * @param path 文件路径 * @return [参数说明] * @return boolean [返回类型说明] */ public ...

  6. OpenStack--Havana

    OpenStack provides an Infrastructure as a Service (IaaS) solution through a set ofinterrelated servi ...

  7. [jzoj]3760.【BJOI2014】Euler

    Link https://jzoj.net/senior/#main/show/3760 Description 欧拉函数  φ(n)  定义为不超过正整数 n 并且与 n 互素的整数的数目. 可以证 ...

  8. Yii2 数据库sql查询

    Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); //返回所有数据: User::findOne($id); //返回 主键 id=1 的一条数据(举个例子 ...

  9. PAT Basic 1006

    1006 换个格式输出整数 (15 分) 让我们用字母 B 来表示“百”.字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数 ...

  10. 一步步完成Maven+SpringMVC+SpringFox+Swagger整合示例

    本文给出一个整合Maven+SpringMVC+SpringFOX+Swagger的示例,并且一步步给出完成步骤. 本人在做实例时发现 http://blog.csdn.net/zth1002/art ...