逗号的adb shell转义字符

时间:2014-12-09 09:43:01

标签: android adb

我通过ADB工具模拟广播意图, 其中一个额外的价值是JASON, 在第一个逗号之后Jason字符串被打破了,我没有得到其余的字符串。

我正在使用的shell命令:

adb shell am broadcast -a com.google.android.c2dm.intent.RECEIVE -n com.example.fx/com.example.fx.utils.gcm.GcmBroadcastReceiver --es "custom" "{"time":"2014-12-08T15:11:19,event_type":"m","event_id":"1418051429_1418051479"}"    

我用来从意图中获取字符串的代码:

String payload = intent.getStringExtra("custom");    

我得到的结果:

 "time:2014-12-08T15:11:19"    

有谁知道为什么会发生这种情况并解决这个问题?

提前致谢

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题并首先运行adb -e shell,然后从该会话发送我的广播。

答案 1 :(得分:1)

遇到同样的问题,使用Alex P.' comment解决了问题:

  1. 请确保切换 " ' ,反之亦然在您" raw" JSON字符串。

  2. 确保您在字符串周围使用`

  3. 确保最外层的"包装"你的字符串包含'

  4. 总结:

    没有工作

    ... --es "data" "{'buttons': [{'interaction': 'open', 'label': 'Show'},
     {'interaction': 'less', 'label': 'Less of this'}]}"
    

    ... --es "data" '{"buttons": [{"interaction": "open", "label": "Show"},
     {"interaction": "less", "label": "Less of this"}]}'