我想从 java (android) 代码中调用原生 c++ 方法,并将 java 函数作为参数传递,这样我就可以将函数指针保存在 c++ 代码中,并从原生代码中激活它。
我选择使用匿名类在java中实现函数指针,并从java调用本机函数,如下所示:
interface FunctionPtrHelper {
bool function(String param);
}
NativeFunc(param1,param2,new FunctionPtrHelper() {
public bool myFunction(String param) {
//body of my function
}});
如何让 swig/jni 知道第三个参数(实际上是一个类)并将其转换为 c++ 中的函数指针(将包含'myFunction')?
如果不可能,是否有另一种方法可以将函数指针从 java 传递给 c++?