我正在调用一个返回字符串的 Java 函数:
QAndroidJniObject obj = QAndroidJniObject::callStaticObjectMethod<jstring>("HelloJava", "getString");
jstring jstr = obj.object<jstring>();
QString str = jstr; // This doesn't work, obviously, compiler-error.
而且它返回一个jstring
,这对我来说不是很有用。如何将其转换为 QString
,以便在我的代码中使用它?
最佳答案
您需要使用 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.
所以,如果我是你,我会这样写:
QAndroidJniObject string = QAndroidJniObject::callStaticObjectMethod<jstring>("HelloJava", "getString");
QString qstring = string.toString();
关于android - 将 jstring 转换为 QString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27345570/