diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> | 2013-10-10 14:49:47 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-16 08:39:52 +0200 |
commit | 4be5d5820361f1482c63c3eeb7eaac5d61a2b211 (patch) | |
tree | ad20c84b7bc2cc76497b87b81371f410b3f54f45 /src | |
parent | 5c64847ba3d2a09a01baa197285b76904aadfbf8 (diff) |
Android: Make it possible to pass arguments via intent extras
Needed for autotest script, so that we can pass command line
arguments to Qt Test.
This can now be done by:
% adb shell am start \
-e applicationArguments "argument1 argument2" \
<INTENT>
Change-Id: I772209f66da055c6a0b01b709f36e33fdb5c2ed6
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java | 8 | ||||
-rw-r--r-- | src/plugins/platforms/android/src/androidjnimain.cpp | 7 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java index 83ed1582bf..9c7b57a4f5 100644 --- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java +++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java @@ -489,6 +489,14 @@ public class QtActivity extends Activity + "\tQML2_IMPORT_PATH=" + localPrefix + "/qml" + "\tQML_IMPORT_PATH=" + localPrefix + "/imports" + "\tQT_PLUGIN_PATH=" + localPrefix + "/plugins"); + + Intent intent = getIntent(); + if (intent != null) { + String parameters = intent.getStringExtra("applicationArguments"); + if (parameters != null) + loaderParams.putString(APPLICATION_PARAMETERS_KEY, parameters.replace(' ', '\t')); + } + loadApplication(loaderParams); return; } diff --git a/src/plugins/platforms/android/src/androidjnimain.cpp b/src/plugins/platforms/android/src/androidjnimain.cpp index b51c15c5d9..5c9ca798a8 100644 --- a/src/plugins/platforms/android/src/androidjnimain.cpp +++ b/src/plugins/platforms/android/src/androidjnimain.cpp @@ -419,14 +419,11 @@ static jboolean startQtAndroidPlugin(JNIEnv* /*env*/, jobject /*object*//*, jobj static void *startMainMethod(void */*data*/) { - char const **params; - params = static_cast<char const **>(malloc(m_applicationParams.length() * sizeof(char *))); + QVarLengthArray<const char *> params(m_applicationParams.size()); for (int i = 0; i < m_applicationParams.size(); i++) params[i] = static_cast<const char *>(m_applicationParams[i].constData()); - int ret = m_main(m_applicationParams.length(), const_cast<char **>(params)); - - free(params); + int ret = m_main(m_applicationParams.length(), const_cast<char **>(params.data())); Q_UNUSED(ret); if (m_mainLibraryHnd) { |