簡體   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