我有一个Java函数可以接受可变数量的参数,在JNI中我接收jobjectArray中的所有参数。但问题是String类型中可用的所有参数,但最初您的数据类型不同。因此在c / c ++中将它们转换为原始类型是不可能的。所以,如果我可以调用其他一些java方法,这将使我的这些转换变得简单。是否可以从JNI中的本机代码调用java方法?
请帮帮我。很长一段时间我都很震惊。提前谢谢。
答案 0 :(得分:1)
以下是一个简洁的例子:http://journals.ecs.soton.ac.uk/java/tutorial/native1.1/implementing/method.html。
从根本上说,您需要查找表示要调用的类和方法的本机对象,格式化参数,调用相应的JNIEnv-> CallXXX方法,并处理结果值。
答案 1 :(得分:1)
当您使用env-> NewStringUTF(实际参数)回调java方法时,我们可以将String作为参数从本机代码传递。