900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > android am发送广播 adb shell am broadcast 手动发送广播及adb shell am/pm其他命令

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

时间:2018-10-14 11:22:25

相关推荐

android am发送广播 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 mands.am.Am.sendBroadcast(Am.java:772)

at mands.am.Am.onRun(Am.java:404)

at com.android.internal.os.BaseCommand.run(BaseCommand.java:51)

at mands.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查看.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。