firstly I save JVM pointer in a native function which called when ap
lauched:
JNIEXPORT void JNICALL Java_com_caval_ServerList_Init
  (JNIEnv * env, jobject obj)
{
...

*// save jvm pointer*
* **int nRt = env->GetJavaVM(&jvm);*

if (nRt == 0)
fprintf(stdout, "InitDLNACP --> GetJavaVM Success...\n");
else
fprintf(stderr, "InitDLNACP --> GetJavaVM Failed...\n");
}

then, when some event echoed I will make a callback of some class in jvm

void _callback()
{
JNIEnv *env = NULL;
int nResult = -1;

*nResult = jvm->AttachCurrentThread((void **)&env, NULL);*
*if ((nResult != 0) || (env == NULL))*
{
fprintf(stderr, "--> In _Java_com_caval_now_Map_AddItem Thread Attached
Failed.\n");
return;
}

jstring ret = env->NewStringUTF(pszTitle); // I run to this line and ap
crashed.
jclass cls = env->FindClass("com/caval/now/ServerList");
}

the AttachCurrentThread func return OK and also I get the env pointer.
but any call on env will crash.

I have no idea of this issue...any help will highly appriciated.

Regards,
Caval.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to