说我有一个Java类,
public static String helloWorld() {
return "hello world!";
}
如何在Qt中获得此函数返回的内容?通知示例包含以下内容:
QAndroidJniObject javaNotification = QAndroidJniObject::fromString(m_notification);
QAndroidJniObject::callStaticMethod<void>("org/qtproject/example/notification/NotificationClient",
"notify",
"(Ljava/lang/String;)V",
javaNotification.object<jstring>());
方法描述符应该是()Ljava/lang/String;
吗? callStaticMethod
之后的V形应该是什么?
编辑。固定,我不知道如何。我没有V形符号,描述符也是正确的。
答案 0 :(得分:0)
QAndroidJniObject string = QAndroidJniObject::callStaticObjectMethod<jstring>("com/your/project/YourClass", "helloWorld");
相当于:
QAndroidJniObject string = QAndroidJniObject::callStaticObjectMethod("com/your/project/YourClass", "helloWorld", "()Ljava/lang/String;");
对于琐碎的签名,即不带参数的签名并返回其中一种已知的jni类型,您可以通过提供模板类型来编写短版本。