/**
* Global Reference of java method
* 回调函数object引用
*/
static jobject jSourceCallback;
/**
* the references of JVM
*/
static JavaVM *gJavaVM;
JNIEXPORT jint JNICALL Java_com_nativeSetCallBack
(JNIEnv *env, jobject obj, jobject callback) {
(*env)->GetJavaVM(env, &gJavaVM);
jSourceCallback = (*env)->NewGlobalRef(env, callback);
return C_SetCallback(_SourceCallBack);}
static int _SourceCallBack(int length, char *pBuf) {
//这个方法是C++中回调方法,在这里将数据回调给Java
JNIEnv *jniEnv;
int state = (*gJavaVM)->GetEnv(gJavaVM, (void**)&jniEnv, JNI_VERSION_1_6);
if (state !=JNI_OK) {
(*gJavaVM)->AttachCurrentThread(gJavaVM, &jniEnv, NULL);
}
jbyteArray data = (*j