android - 如何使用 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商业版
解决方案
您不使用callObjectMethod
返回原语的方法;您callMethod
为此使用:
jint my_int = QtAndroid::androidActivity().callMethod<jint>("someMethod");
推荐阅读
- python - Django 在管理中的内联之间切换
- java - 不同jar中的spring boot覆盖bean导致ClassNotFoundException
- node.js - Mongoose:尝试将嵌套对象字段设置为原始值“null”
- heroku - 如何取消 Heroku Review-app 上的冗余构建
- c - 我正在尝试将多个客户端与此服务器连接,但代码似乎不起作用>
- c++ - 将其他函数中的变量用于主函数 C++
- sql - 从表中选择不同的值
- c# - 为什么泛型类型定义的 BaseType 本身不是泛型类型定义?
- postman - AWS API 网关问题
- angularjs - 在 Javascript 中使用 Razor 更改 AngularJS “$http.post” URL