【问题标题】:How to get an int value using QtAndroid::androidActivity().callObjectMethod?如何使用 QtAndroid::androidActivity().callObjectMethod 获取 int 值?
【发布时间】:2020-07-30 14:34:48
【问题描述】:

我知道使用以下方法,我可以从 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");

如何使用QtAndroid::androidActivity().callObjectMethod 收集intjint

通过this link,我找不到我的问题的答案。

Qt 版本:
Qt 5.12 商业版

【问题讨论】:

    标签: android qt java-native-interface qtandroidextras


    【解决方案1】:

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

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

    【讨论】:

    • 完美!这就是我需要的:D
    猜你喜欢
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 2023-02-15
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    相关资源
    最近更新 更多