我的C代码有一个init方法。在这个方法中,我注册了一些回调:
JNIEXPORT jboolean JNICALL
Java_a_b_D_connect(JNIEnv *env, jobject obj)
{
bool success &= txRegisterConnectionStateChangedHandler(hContext, &hConnectionStateChangedTicket, OnEngineConnectionStateChanged, NULL) == TX_RESULT_OK;
return success;
}
回调函数也在C代码中定义:
void TX_CALLCONVENTION OnEngineConnectionStateChanged(TX_CONNECTIONSTATE connectionState, TX_USERPARAM userParam)
{
// ... various case statements
}
从我的Java代码中,我调用了C connect方法。这很好,但问题是,我没有得到所有的回调,因为我的Java代码会在所有Java语句执行后终止。
如何更改此行为?我希望运行C代码ifinet,直到我终止它。