diff options
author | Sergio Ahumada <sergio.ahumada@digia.com> | 2013-05-07 12:01:46 +0200 |
---|---|---|
committer | Sergio Ahumada <sergio.ahumada@digia.com> | 2013-05-07 12:02:41 +0200 |
commit | db44b891fb8710121fec7dc4fa3bd91493dc2a1c (patch) | |
tree | f6729181387ac4a4e4fa2dad445febebba25812b /src/plugins/platforms/android/src/qandroidplatformservices.cpp | |
parent | c917579a15d60a7b70c5fc5f00f6451da7c4e608 (diff) | |
parent | 95045168470f8865263145b86597b6641b4cc035 (diff) |
Merge branch 'stable' into dev
Change-Id: Ica003a10ede86914bbbb062a2dc277a2ce39a259
Diffstat (limited to 'src/plugins/platforms/android/src/qandroidplatformservices.cpp')
-rw-r--r-- | src/plugins/platforms/android/src/qandroidplatformservices.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/plugins/platforms/android/src/qandroidplatformservices.cpp b/src/plugins/platforms/android/src/qandroidplatformservices.cpp index 841a9d4d51..0df882f1f0 100644 --- a/src/plugins/platforms/android/src/qandroidplatformservices.cpp +++ b/src/plugins/platforms/android/src/qandroidplatformservices.cpp @@ -46,29 +46,25 @@ QAndroidPlatformServices::QAndroidPlatformServices() { - JNIEnv *env; - if (QtAndroid::javaVM()->AttachCurrentThread(&env, NULL) < 0) { - qCritical() << "AttachCurrentThread failed"; + QtAndroid::AttachedJNIEnv env; + if (!env.jniEnv) return; - } - m_openURIMethodID = env->GetStaticMethodID(QtAndroid::applicationClass(), + m_openURIMethodID = env.jniEnv->GetStaticMethodID(QtAndroid::applicationClass(), "openURL", "(Ljava/lang/String;)V"); } bool QAndroidPlatformServices::openUrl(const QUrl &url) { - JNIEnv *env; - if (QtAndroid::javaVM()->AttachCurrentThread(&env, NULL) < 0) { - qCritical() << "AttachCurrentThread failed"; + QtAndroid::AttachedJNIEnv env; + if (!env.jniEnv) return false; - } - jstring string = env->NewString(reinterpret_cast<const jchar *>(url.toString().constData()), + jstring string = env.jniEnv->NewString(reinterpret_cast<const jchar *>(url.toString().constData()), url.toString().length()); - env->CallStaticVoidMethod(QtAndroid::applicationClass(), m_openURIMethodID, string); - env->DeleteLocalRef(string); + env.jniEnv->CallStaticVoidMethod(QtAndroid::applicationClass(), m_openURIMethodID, string); + env.jniEnv->DeleteLocalRef(string); return true; } |