adb shell am broadcast 手动发送广播及adb shell am/pm其他命令

来源:互联网 发布:电钢琴推荐 知乎 编辑:程序博客网 时间:2024/05/20 09:21

在命令行可用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_NAMEadb 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例如:打开拨号界面,直接拨打10086adb shell am start -a android.intent.action.CALL -d tel:10086参数含义: -d, DATA_URI

启动一个service

adb shell am startservice [option] [intent]例如:adb shell am startservice -a android.settings.ACTION_NAMEadb shell am startservice -n com.android.settings/.Service_class_name反之,停止service就是把参数换成stopservice

发送一个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=2000at 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获取设备权限

强制关闭一个应用程序

adb shell am force-stop [PACKAGE]例如:通过指定包名强制关闭设置adb shell am force-stop com.android.settings

列举出所有包含[intent]的包名

adb shell pm list packages [option] [intent]例如:列举包名含有com.android的packageadb shell pm list packages com.android

上面列举的这些是用的相对比较多一些的命令, 想了解更多adb shell am/pm 的命令或者各参数含义,可以在命令行输入
adb shell am 或 adb shell pm查看.

阅读全文
0 0
原创粉丝点击