aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/androidextras/jni/qandroidjnienvironment.cpp18
-rw-r--r--src/androidextras/jni/qandroidjnienvironment.h1
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)