QAndroidJniObject::callMethod() 和 QAndroidJniObject::callObjectMethod() 有什么区别?

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

我注意到 Qt 文档提供了两种调用 android 本机方法的方法,但我不知道何时使用 QAndroidJniObject::callMethod 以及何时使用 QAndroidJniObject::callObjectMethod。规则是什么?

主要区别在于 QAndroidJniObject::callMethod return 是原始数据类型,如 jintjbyteQAndroidJniObject::callObjectMethod return 是对象类型 QAndroidJniObject.

使用哪一个完全取决于您的需要和您要调用的函数的 return 类型。如果你的函数 return 是像 jobjectjstringjarray、... 这样的对象类型,那么你绝对应该使用 QAndroidJniObject::callObjectMethod。否则你可以使用两者中的任何一个。