Как вызвать String, возвращающий Java-метод из C JNI?
Есть много функций, доступных для вызова Java из C, однако нет функции для вызова String, возвращающей методы Java. Может кто-нибудь, пожалуйста, посоветуйте, как я могу вызвать строку, возвращающую Java-метод из C?
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 *