java - 如何在使用 adb.exe shell 命令执行 android 应用程序时发送参数

标签 java android adb

我使用“adb.exe shell”启动了一个 android 应用程序,效果很好:

shell am start -a android.intent.action.VIEW -n mypackage/.myActivity

如何为命令提供参数以及如何在我的应用程序中读取它?

shell am start -a android.intent.action.VIEW -n mypackage/.myActivity <PARAMETER>

public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       String myParameter=getHowtoReadaParamter();

最佳答案

来自 am 帮助:

-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...
--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...]

所以你可以像这样发送一个字符串参数:

shell am start -a android.intent.action.VIEW -n mypackage/.myActivity -e param value

并在 Activity 中阅读:

getIntent().getStringExtra("param")

关于java - 如何在使用 adb.exe shell 命令执行 android 应用程序时发送参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24322174/

相关文章:

java - 我们可以使用 C、C++ 或 Java(任何语言)将 PDF 文件转换为 HTML 吗?

java - 在 firebase 的节点内添加列表

android - Lollipop 上完全透明的状态栏和导航栏

android - 如何编写 IPERF Android 应用程序

java - 列出彼此相邻的图像按钮并换成新行

java - 关于double和bigdecimal的精度问题

java - Java 未检测到死锁

android - 在 Android 应用程序中自定义 Facebook 登录按钮

java - switch.isChecked 始终为 false

Android 设备无法在 adb 中识别