diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/androidextras/jni/qandroidjnienvironment.cpp | 18 | ||||
-rw-r--r-- | src/androidextras/jni/qandroidjnienvironment.h | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/androidextras/jni/qandroidjnienvironment.cpp b/src/androidextras/jni/qandroidjnienvironment.cpp index 08f0c71..585c442 100644 --- a/src/androidextras/jni/qandroidjnienvironment.cpp +++ b/src/androidextras/jni/qandroidjnienvironment.cpp @@ -83,6 +83,19 @@ QT_BEGIN_NAMESPACE Returns the JNI Environment pointer. */ +/*! + \fn jclass QAndroidJniEnvironment::findClass(const char *className) + + Searches for \a className using all available class loaders. Qt on Android + uses a custom class loader to load all the .jar files and it must be used + to find any classes that are created by that class loader because these + classes are not visible in the default class loader. + + Returns the class pointer or null if is not found. + + \since Qt 5.12 + */ + QAndroidJniEnvironment::QAndroidJniEnvironment() : d(new QJNIEnvironmentPrivate) @@ -108,6 +121,11 @@ QAndroidJniEnvironment::operator JNIEnv*() const return d->jniEnv; } +jclass QAndroidJniEnvironment::findClass(const char *className) +{ + return QJNIEnvironmentPrivate::findClass(className, d->jniEnv); +} + static void clearException(bool silent) { QAndroidJniEnvironment env; diff --git a/src/androidextras/jni/qandroidjnienvironment.h b/src/androidextras/jni/qandroidjnienvironment.h index 654117b..4edf8f4 100644 --- a/src/androidextras/jni/qandroidjnienvironment.h +++ b/src/androidextras/jni/qandroidjnienvironment.h @@ -57,6 +57,7 @@ public: static JavaVM *javaVM(); JNIEnv *operator->(); operator JNIEnv*() const; + jclass findClass(const char *className); private: Q_DISABLE_COPY(QAndroidJniEnvironment) |