zoukankan      html  css  js  c++  java
  • adb shell am broadcast 手动发送广播及adb shell am/pm其他命令

     

    版权声明:本文为博主原创文章,未经博主允许不得转载。 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查看.

  • 相关阅读:
    ZooKeeper学习第一期---Zookeeper简单介绍
    安装zookeeper(单机,伪集群)
    一张图看懂DNS域名解析全过程
    CDN基本工作过程
    第十七章、程序管理与 SELinux 初探
    直方图均衡化的缺点——不平坦
    电感耦合等离子体质谱法响应时间
    C++内容记录
    图像质量评价-NQM和WPSNR
    分颜色通道SR的相关论文
  • 原文地址:https://www.cnblogs.com/xgjblog/p/10628079.html
Copyright © 2011-2022 走看看