首页 > 解决方案 > 如何使用 QtAndroid::androidActivity().callObjectMethod 获取 int 值?

问题描述

我知道使用以下方法,我可以从 Android 主活动获取一个字符串到 Qt/C++ 端。

QAndroidJniObject my_string = QtAndroid::androidActivity().callObjectMethod<jstring>("someMethod");
QString  my_qsrting = my_string.toString();

someMethod如果返回一个 Java ,上面是很棒的String。但是如果someMethod返回一个int呢?以下方式在Qt中不起作用?它有编译错误。

QAndroidJniObject my_int = QtAndroid::androidActivity().callObjectMethod<jint>("someMethod");

我怎样才能收集一个int或一个jint使用QtAndroid::androidActivity().callObjectMethod

通过这个链接,我找不到我的问题的答案。

Qt版本:
Qt 5.12商业版

标签: androidqtjava-native-interfaceqtandroidextras

解决方案


您不使用callObjectMethod返回原语的方法;您callMethod为此使用:

jint my_int = QtAndroid::androidActivity().callMethod<jint>("someMethod");

推荐阅读