2014-09-02 180 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