繁体   English   中英

创建时调用的JNI方法对象

[英]JNI method object called on creation

我使用JNI存储对Java方法对象( obj )的引用,以便以后从C中调用它:

 jobject obj = (*newEnv)->NewObject(newEnv, cls, mid);

其中newEnv是我的环境, cls是我的类ID, mid是我的方法ID。

一切工作正常,除了在创建此对象以供以后用作引用时,它实际上立即调用了该方法。

我只想稍后创建该对象,而不立即调用该方法。

感谢Gabe Sechan的评论,我得以弄清楚:

jmethodID construct = (*newEnv)->GetMethodID(newEnv,cls,"<init>","()V");
jobject obj = (*newEnv)->NewObject(newEnv, cls, construct);

然后,我可以调用要使用的方法:

(*newEnv)->CallVoidMethod(newEnv, obj, mid);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM