android命令发送带有json字符串的广播

android系统下,am broadcast命令可以用来发送广播,但是如果遇到广播内容含有json字符串,经常就会出各种问题。


正确的格式有两种:

(1)通过adb shell执行

adb shell "am broadcast ...--es key '"'JSON_TEXT'"'"
例如:adb shell "am broadcast -a com.test.android.ACTION_TEST_FEATURE -n com.test.android/.receivers.TestsReceiver --es notify '"'{"debug": false, "title": "Application update!"}'"'"


(2)先执行adb shell后

am broadcast ...--es "key" 'JSON_TEXT'
例如:am broadcast -a com.test.android.ACTION_TEST_FEATURE -n com.test.android/.receivers.TestsReceiver --es "notify" '{"debug": false, "title": "Application update!"}'

注意:

第二种方式与第一种方式的区别,关键在于--es后的key值是否加双引号,以及value值是用哪种引号括起来。如果用错了,广播还是无效。


参考:

Sending JSON as extra data in an android broadcast via ADB gets incorrectly formatted

Android 调试桥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值