文章

adb命令启动service、Activity和发送Broadcast

文章目录

一:启动service

adb shell am startservice com.bokezhi.test/.myService

二:启动Activity

adb shell am start com.bokezhi.test/.MainActivity

还可以带参数,我在Android 9.0测试无法启动。(具体可以参考Broadcast的,这个比较少用)

三:发送Broadcast

adb shell am broadcast 后面的参数有:

[-a <ACTION>]

[-d <DATA_URI>]

[-t <MIME_TYPE>]

[-c <CATEGORY> [-c <CATEGORY>] ...]

[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]

[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]

[-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]

[-n <COMPONENT>]

[-f <FLAGS>] [<URI>]

常用实例

# 广播1 不带参数 

adb shell am broadcat -a com.125la.test

# 广播2 带String类型的参数

adb shell am broadcast -a com.125la.test --es test_string "this is test string"

# 广播3 带int类型的参数

adb shell am broadcast -a com.125la.test --ei test_int 100

# 广播4 带boolean类型的参数

adb shell am broadcast -a com.125la.test --ez test_boolean true

广播1

Intent intent= new Intent();
intent.setAction("com.125la.test");
sendBroadcast(intent);

广播2

--es 指后面跟String的参数Key和Value

Intent intent= new Intent();
intent.setAction("com.125la.test");
intent.putExtra("test_int", "this is test string");
sendBroadcast(intent);

广播3

--ei 指后面跟int的参数Key和Value

Intent intent= new Intent();
intent.setAction("com.125la.test");
intent.putExtra("test_int", 100);
sendBroadcast(intent);

广播4

--ez 指后面跟boolean的Key和Value

Intent intent= new Intent();
intent.setAction("com.125la.test");
intent.putExtra("test_boolean", true);
sendBroadcast(intent);

参考

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