getScreen、sendInt、sendStr未java中函数,通过getScreen获取类Screen,然后调用Screen类中的sendStr()、sendInt()方法。
void sendInt(JNIEnv *env, jobject thiz,jint msg){
jclass cls = (*env)->GetObjectClass(env, thiz);
jmethodID mid = (*env)->GetMethodID(env,cls, "getScreen", "()Lcom/pax/collision/Screen;");
jobject scr = (*env)->CallObjectMethod(env, thiz,mid);
jclass cls1 = (*env)->GetObjectClass(env, scr);
jmethodID mid1 = (*env)->GetMethodID(env,cls1, "sendInt", "(I)V");
(*env)->CallVoidMethod(env, scr,mid1,msg);
}
void sendString(JNIEnv *env, jobject thiz,char *msg){
jstring jstrMSG = NULL;
jstrMSG =(*env)->NewStringUTF(env, msg);
jclass cls = (*env)->GetObjectClass(env, thiz);
jmethodID mid = (*env)->GetMethodID(env,cls, "getScreen", "()Lcom/pax/collision/Screen;");
jobject scr = (*env)->CallObjectMethod(env, thiz,mid);
jclass cls1 = (*env)->GetObjectClass(env, scr);
jmethodID mid1 = (*env)->GetMethodID(env,cls1, "sendStr", "(Ljava/lang/String;)V");
(*env)->CallVoidMethod(env, scr,mid1,jstrMSG);
}