使用来自adb的args启动Android APK

问题描述 投票:1回答:1

我正在寻找以args启动我的APK的方法。

首先,如何在OnCreate方法中获取args?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //get args1, get  args2...
}

然后使用adb,如何使用这些args运行我的应用程序?我只看到这样的示例:

adb shell am start -S -D com.example.apk/android.app.MainActivity --es args '"-name MYNAME -email [email protected]"'
android adb emulation genymotion
1个回答
0
投票

首先,如何在OnCreate方法中获取args?

用您所描述的术语是不可能的。

然后使用adb,如何使用这些args运行我的应用程序?

用您所描述的术语是不可能的。

[您[[可以做的事情-adb示例向您显示的内容-是提供Intent附加功能:

adb shell am start -S -D com.example.apk/android.app.MainActivity --es args '"-name MYNAME -email [email protected]"'
这不是使用Intent Extras的特别好方法,但让我们开始吧。

[这里,您传递的字符串额外名为args,其值为"-name MYNAME -email [email protected]"

在活动的onCreate()中,您可以调用getIntent().getStringExtra("args")检索该字符串:

String args = getIntent().getStringExtra("args");

现在,args变量将保留-name MYNAME -email [email protected]

一个更简单,更清洁的adb shell am start命令为:

adb shell am start -S -D com.example.apk/android.app.MainActivity --es name MYNAME --es email [email protected]

现在您要传递两个字符串附加字符nameemail。然后,您可以分别检索每个值:

String name = getIntent().getStringExtra("name"); String email = getIntent().getStringExtra("email");

© www.soinside.com 2019 - 2024. All rights reserved.