小编mac*_*arz的帖子

Mac OS X发送adb shell am开始意图字符串extra with space characters

我有一个问题,涉及使用Mac OS X终端上的Activity Manager发送包含空格字符的字符串额外的意图.

以下命令:

adb shell am start -n com.example.package/.Activity -e 'KEY' 'String with spaces'
Run Code Online (Sandbox Code Playgroud)

...给:

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] pkg=with cmp=com.example.package/.Activity (has extras) }
Run Code Online (Sandbox Code Playgroud)

...并且只有"String"实际传递给Activity.

我可以通过使用反斜杠转义空格来解决这个问题:

adb shell am start -n com.example.package/.Activity -e 'KEY' 'String\ with\ spaces'
Run Code Online (Sandbox Code Playgroud)

...给:

Starting: Intent { cmp=com.example.package/.Activity (has extras) }
Run Code Online (Sandbox Code Playgroud)

...和"带空格的字符串"传递给Activity,因此它按预期工作.

问题是转义空间会限制我的脚本与Ubuntu终端的兼容性.在Ubuntu的这种情况下,"String\with\spaces"被传递给活动.

有没有办法迫使Mac OS终端解释字符串额外包含空格,如Ubuntu终端吗?

terminal android adb

2
推荐指数
1
解决办法
1771
查看次数

标签 统计

adb ×1

android ×1

terminal ×1