80,351
社区成员
发帖
与我相关
我的任务
分享
jclass jregimageexclass;
jobject jregimageexobject;
JNIEnv *env2;
JNIEXPORT jint JNICALL Java_com_viking_myapplication_JniMethod_NetImageSnap
(JNIEnv *env, jobject jobj, jint tHandle,jobject ptImageSnap){
LOGE("Java_com_viking_myapplication_JniMethod_NetImageSnap");
jregimageexclass = env->GetObjectClass(jobj);
jregimageexobject =jobj;
env2 =env;
T_DCImageSnap t_dcImageSnap;
jclass jclazz = env->GetObjectClass(ptImageSnap);
jfieldID uiImageIdID = env->GetFieldID(jclazz,"uiImageId","I");
t_dcImageSnap.uiImageId = (unsigned int)env->GetIntField(ptImageSnap,uiImageIdID);
jfieldID ucLightIndexID =env->GetFieldID(jclazz,"ucLightIndex","B");
t_dcImageSnap.ucLightIndex = (unsigned char)env->GetByteField(ptImageSnap,ucLightIndexID);
jfieldID ucLightModeID =env->GetFieldID(jclazz,"ucLightMode","B");
t_dcImageSnap.ucLightMode =(unsigned char)env->GetByteField(ptImageSnap,ucLightModeID);
jfieldID usGroupIdID =env->GetFieldID(jclazz,"usGroupId","S");
t_dcImageSnap.usGroupId =(unsigned short)env->GetShortField(ptImageSnap,usGroupIdID);
jint result =Net_ImageSnap(tHandle,&t_dcImageSnap);
return result;
}
int GetImageCbEx(DCHANDLE tHandle, unsigned int uiImageId, T_ImageUserInfo *ptImageInfo,T_PicInfo *ptPicInfo,void *pUser){
LOGE("GetImageCbEx:回调注册一");
if (env1==NULL){
LOGE("0");
}
LOGE("2");
jint i = 11;
LOGE("3");
//jclass jimageuserinfobean = env1->FindClass("com/viking/bean/TImageUserInfo");
//报错位置 ,不管使用什么 env1的函数,都报这个错误,
jstring str = env1->NewStringUTF("HelloJNI");
return 0;
}
JNIEXPORT jint JNICALL Java_com_viking_myapplication_JniMethod_NetRegImageRecvEx(JNIEnv *env, jobject jobj, jint tHandle, jstring pUser){
LOGE("Java_com_viking_myapplication_JniMethod_NetRegImageRecvEx");
char *puser = (char*)env->GetStringUTFChars(pUser,0);
return Net_RegImageRecvEx(tHandle, GetImageCbEx,(void*)puser);
}
return Net_RegImageRecvEx(tHandle, GetImageCbEx,(void*)puser);
GetImageCbEx是方法,你参数怎么没传。
GetImageCbEx中
jstring str = env1->NewStringUTF("HelloJNI");
env1应该参数传入