/Qt 5.15

QAndroidJniEnvironment Class

The QAndroidJniEnvironment provides access to the JNI Environment. More...

Header: #include <QAndroidJniEnvironment>
qmake: QT += androidextras
Since: Qt 5.2

This class was introduced in Qt 5.2.

Public Functions

jclass findClass(const char *className)
JNIEnv * operator JNIEnv *() const
JNIEnv * operator->()

Static Public Members

JavaVM * javaVM()

Detailed Description

Member Function Documentation


Constructs a new QAndroidJniEnvironment object and attach the current thread to the Java VM.

bool exceptionCheck()
      The QAndroidJniEnvironment attaches the current thread to the JavaVM on
      creation and detach when it goes out of scope.
    QAndroidJniEnvironment qjniEnv;
    return qjniEnv->ExceptionCheck();


Detaches the current thread from the Java VM and destroys the QAndroidJniEnvironment object.

jclass QAndroidJniEnvironment::findClass(const char *className)

Searches for 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.

A use case for this function is searching for a custom class then calling its memeber method. The following code snippet create an instance of the class CustomClass and then calls printFromJava() method:

[static] JavaVM *QAndroidJniEnvironment::javaVM()

Returns the Java VM interface.

JNIEnv *QAndroidJniEnvironment::operator JNIEnv *() const

Returns the JNI Environment pointer.

JNIEnv *QAndroidJniEnvironment::operator->()

Provides access to the QAndroidJniEnvironment's JNIEnv pointer.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.