我现在需要在一个C函数中调用一个非静态的Java方法,但这个C函数不是java中定义的natvie方法,所以没有传入JNIEnv 和 jobject ,这种情况下我要怎样调用指定对象的方法呢?比如:Class Test{
    public void callback();
    public native void func();
}
// 在func()里起了个线程,然后func()退出,现在需要在线程里调用callback()//我这样测试过:JavaVM *jvm; //缓存的全局变量
jobject g_obj;  //c文件中的全局变量
JNIEXPORT void JNICALL Java_com_xx_cc_func(JNIEnv *env, jobject obj)
{
    g_obj = obj;
    return;
}//然后在需要调用callback()的时候使用g_obj这个jobject:
void call()
{
  JNIEnv* env;
  (*jvm)->GetEnv(jvm, (void**)&env, JNI_VERSION_1_2);

  class cls = (*env)->FindClass(env,"com/xx/cc");  jmethodID mid =  (*env)->GetStaticMethodID(env, cls, "callback","()V");

  (*env)->CallVoidMethod(env, g_obj, mid);
}但这样程序会崩溃,请问有什么方法解决么???谢谢大家