2014-09-02 89 views
0

有许多函数可以从C中调用java,但是没有函数调用String返回java方法。有人可以请指教如何从C调用字符串返回的Java方法?如何从C JNI调用返回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, 

回答

1

您可以使用CallObjectMethod()和朋友。如果JAVA方法返回String。那么jobject返回可以转换为jstring,你可以使用GetStringChars()获得jchar *

+0

注:'GetStringChars()'返回一个指针的UTF-16编码单元未终止序列(jchar),这是优秀的,如果这是你想要什么。 (你可以用'GetStringLength'获得jchar计数。) – 2014-09-04 04:40:58