我想知道Qt是如何在Android上运行的?我知道Qt是为移动应用而生的。Qt有很多模块(例如Qt Sensors,Qt Bluetooth,Qt AndroidExtras)。Qt对于移动设备来说是原生的,但是我们可以从Qt / C++调用Android SDK Java codes。那么,Qt for Android的Java代码是如何运行的呢?在Qt后台运行Java VM吗?如何在Qt中运行Java代码?这项工作的逻辑是什么?Qt正在使用QtAndroidExtras为安卓系统调用Java代码。但我想使用纯jni (带有jni.h文件)调用Android的Java代码。因为我想同时使用Qt和FireMonkey的JNI码。所以,我想知道如果没有QtAndroidExtras,Java代码在Qt中是如何运行的。我的简短问题是:我想写一个类似QtAndroidExtras的模块,这个模块适用于安卓系统。用于从C++调用Android SDK类(或Java代码)。我该怎么做呢?谢谢。
发布于 2017-01-18 02:54:27
要在Qt应用程序中运行Java代码,您应该使用Qt Android Extras模块,该模块包含用于在Android上进行开发的附加功能。
您可以使用JNI从Qt调用Java函数或从Java回调Qt函数。
bool retVal = QAndroidJniObject::callStaticMethod<jint>
("com/MyApp/JavaClass" // class name
, "SomeMethod" // method name
, "(I)I" // signature
, val);https://stackoverflow.com/questions/41704493
复制相似问题