Search code examples
javaandroidjava-native-interfaceandroid-ndk-r5

Can't call callback function from JNI


Problem Description

In Android application I have class MainClass and in that class I have MainClass which have public function Callback which do some work.

public class MainClass {

  public class TestClass {

      TestClass( ) {
          // 
          // Some code goes here.
          //
      }

      public void Callback( ) {
          // 
          // Do some work. 
          //
      } 
   }
}

Question

How I can call Callback method from JNI, I use this way but my application crashes.

jclass cls = (*env)->FindClass( env, "com/application/Test/MainClass/TestClass" );
jmethodID mid = (*env)->GetMethodID( env, cls, "Callback", "()V" );

Solution

  • Try using GetObjectClass instead of FindClass