I'm calling a Java function that returns a string:
QAndroidJniObject obj = QAndroidJniObject::callStaticObjectMethod<jstring>("HelloJava", "getString");
jstring jstr = obj.object<jstring>();
QString str = jstr; // This doesn't work, obviously, compiler-error.
And it returns a jstring
, which is not very useful for me. How do I convert that to a QString
, so I can use it in my code?
You need to use this method.
QString QAndroidJniObject::toString() const
Returns a QString with a string representation of the java object. Calling this function on a Java String object is a convenient way of getting the actual string data.
So, I would write this if I were you:
QAndroidJniObject string = QAndroidJniObject::callStaticObjectMethod<jstring>("HelloJava", "getString");
QString qstring = string.toString();