如何使用Android NDK调用空隙方法
我正在尝试从我的C ++代码中调用空隙方法。我已经有 jclass 和jnienv*。我毫无疑问地调用静态方法,因为我可以简单地使用我拥有的 jclass 实例。但是,使用 env-> callVoidMethod(),我读到我需要通过一个对象。该方法是我的主动脉类别的一部分,那么我需要创建一个主动级类的实例,如下面附带的调试屏幕截图中所示?如果是这样,如何获得MainAttivity的构造方法ID?
------------------------------------------------------------------------------------------------------
jclass clazz = env->FindClass((MenuUtilities::getPathFromPackage() + "/MainActivity").c_str());
jmethodID constructor = env->GetMethodID(clazz, "MainActivity", "()V"); //
I'm trying to call a void method from my C++ code. I already have jclass, and JNIEnv*. I have no problem calling static methods, because I can simply use the jclass instance that I have. However, Using env->CallVoidMethod(), I read that I need to pass an object instead. The method is a part of my MainActivity class, so do I need to create an instance of the MainActivity class as seen in the debugging screenshot attached below? If so, how do I get the constructor Method ID for MainActivity?
-------------UPDATE code shown below-------------
jclass clazz = env->FindClass((MenuUtilities::getPathFromPackage() + "/MainActivity").c_str());
jmethodID constructor = env->GetMethodID(clazz, "MainActivity", "()V"); //????This returns null..
jobject newObj = env->NewObject(clazz, constructor);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论