c - 如何从 C JNI 调用返回 java 方法的字符串?

标签 c java-native-interface jnienv

有很多函数可用于从 C 调用 java,但是没有用于调用 String 返回 java 方法的函数。有人可以告诉我如何从 C 调用返回 java 方法的字符串吗?

    CallBooleanMethod,
    CallBooleanMethodV,
    CallBooleanMethodA,
    CallByteMethod,
    CallByteMethodV,
    CallByteMethodA,
    CallCharMethod,
    CallCharMethodV,
    CallCharMethodA,
    CallShortMethod,
    CallShortMethodV,
    CallShortMethodA,
    CallIntMethod,
    CallIntMethodV,
    CallIntMethodA,
    CallLongMethod,
    CallLongMethodV,
    CallLongMethodA,
    CallFloatMethod,
    CallFloatMethodV,
    CallFloatMethodA,
    CallDoubleMethod,
    CallDoubleMethodV,
    CallDoubleMethodA,
    CallVoidMethod,
    CallVoidMethodV,
    CallVoidMethodA,

最佳答案

您可以使用CallObjectMethod()和 friend 。如果JAVA方法返回String。那么返回的jobject可以转换为jstring,并且您可以使用GetStringChars()来获取jchar *

关于c - 如何从 C JNI 调用返回 java 方法的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25622103/

相关文章:

java - JNI 是否需要根据参数类型对参数进行排序

c - printf 中增量运算符的不明确行为

c - 从 C 中的函数返回数组

c - 通过调用内核模块写入proc文件/给参数

android - 在 Linux 上使用 javah

android - 将 JNIEnv 或上下文从 Java 传递给 Go

python - 可用于制作英语词典的数据结构

java - 如何将 int 放入 HashMap jni 中?

java - 不满意的linkerror aarch64三星银河S6

C 中的 Java jbytearray 访问(JNI)