Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从命令行发送字符串[]的额外值?_Android_String_Android Intent_Command Line_Adb - Fatal编程技术网

Android 如何从命令行发送字符串[]的额外值?

Android 如何从命令行发送字符串[]的额外值?,android,string,android-intent,command-line,adb,Android,String,Android Intent,Command Line,Adb,我的自动测试通过adb shell am发送意图,但是我在指定一个额外的字符串数组时遇到了问题 根据,可以将字符串[]附加到意图中 但是,am命令的未列出字符串数组类型。我在文档中看到的唯一字符串类型是普通字符串,也可能是空“字符串”: --esn 添加一个空的额外值。URI意图不支持此选项。 -e |--es 将字符串数据添加为键值对。 仅仅为了发送字符串数组而编写java应用程序是可以避免的吗 有没有办法从命令行发送一个字符串[]额外值 编辑如果这种方法不可行,那么首选的方法是什么?对于其

我的自动测试通过adb shell am发送意图,但是我在指定一个额外的字符串数组时遇到了问题

根据,可以将字符串[]附加到意图中

但是,
am
命令的未列出字符串数组类型。我在文档中看到的唯一字符串类型是普通字符串,也可能是空“字符串”:

--esn
添加一个空的额外值。URI意图不支持此选项。
-e |--es
将字符串数据添加为键值对。
仅仅为了发送字符串数组而编写java应用程序是可以避免的吗

有没有办法从命令行发送一个字符串[]额外值


编辑如果这种方法不可行,那么首选的方法是什么?

对于其他寻找此方法的人,下面列出了附加命令的命令行标志

-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE>
--esn <EXTRA_KEY>
--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE>
--ei <EXTRA_KEY> <EXTRA_INT_VALUE>
--el <EXTRA_KEY> <EXTRA_LONG_VALUE>
--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE>
--eu <EXTRA_KEY> <EXTRA_URI_VALUE>
--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>]
--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]
--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]
--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]
-e|--es
--esn
--埃兹
--ei
--埃尔
--环境足迹
--欧盟
--[ecn]

--eia[,老问题,但未回答。
adb shell am
显示了所有选项,其中包括:

[--esa <EXTRA_KEY> <EXTRA_STRING_VALUE>[,<EXTRA_STRING_VALUE...]]
    (to embed a comma into a string escape it using "\,")

[--esa[,要启动的操作和数据uri

adb shell am start -a "android.intent.action.VIEW" -d "http://www.google.com"
发送sms、mime类型和额外字符串等操作

adb shell am start -a "android.intent.action.SEND" --es "android.intent.extra.TEXT" "Hello Intent" -t "text/plain"
用于启动/启动它的显式组件名称

adb shell am start -n "your.package.name/package.nameOf.Activity"
一个显式的组件名称和一个额外的字符串

adb shell am start -n your.AppPckage.name/package.nameOf.Activity --es "key" "value"
使用--e | es可以发送字符串中的额外数据 这里

--e仅指额外数据

如果使用--es,则表示它将停止任何现有的活动,并使用额外的字符串数据正确启动活动

根据您的需要,您可以选择任意一种组合。
有关更多参考,请使用答案

和字符串[]的解决方案是吗?double怎么样?
--ed
不起作用!可能这是最近推出的,我想以前没有这样的选项,如中所示。很高兴知道它现在可用,谢谢!以前,我使用了我为类似的工作创建的自定义程序。是的,这是新的API。我没有找到它是何时推出的。非常感谢你为comment。这解决了一个小时的调试会话。:)您好。我如何通过adb启动文件的chooser intent?您好,adb shell am start-a“android.intent.action.VIEW”-t“text/plain”如果您删除-t选项,您可以这样使用所有应用程序都将作为选项出现它将与文件一起使用?例如,在蓝牙或其他社交网络应用程序上共享图片是的,它将工作您需要传递正确类型的ie-t图像/*类似于蓝牙共享类型的内容将是-t应用程序/蓝牙类型找到正确的mime共享操作需要管道的类型和类型
adb shell am start -n your.AppPckage.name/package.nameOf.Activity --es "key" "value"