Qt 調用 Java 方法筆記


Qt 調用 Java 方法筆記

如果遇到類似的錯誤:

error: undefined reference to '_jstring* QAndroidJniObject::callStaticMethod<_jstring*>(char const*, char const*)'

那就是你使用了一個錯誤的函數來調用 Java 方法了。

The main difference is that QAndroidJniObject::callMethod returns a primitive data type like jint or jbyte but QAndroidJniObject::callObjectMethod returns an object of type QAndroidJniObject.

Using which one all depends on your needs and the return type of the function you want to call. If your function returns an object type like jobject, jstring, jarray,… then you should definitely use QAndroidJniObject::callObjectMethod. Otherwise you can use either of the two.

就是參照以調用的 Java 方法返回的對象來使用不同的函數,如果返回參數為對象例如是數組,字符串,就使用 QAndroidJniObject::callObjectMethod,如果是基本數據類型就使用 QAndroidJniObject::callMethod


參考

What is the difference between QAndroidJniObject::callMethod() and QAndroidJniObject::callObjectMethod()?

https://bugreports.qt.io/browse/QTBUG-37212

error: undefined reference to ‘_jstring* QAndroidJniObject::callStaticMethod<_jstring*>(char const*, char const*)’


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com