crossapp在线程中调用java代码toast,为何显示不了
我在CA中用C++创建了一个新线程,然后通过jni去调用java的代码显示toast
public static void showToast(final String strContent)
{
Message msg = new Message();
msg.what = Cocos2dxHandler.HANDLER_SHOW_TOAST;
msg.obj = new Cocos2dxHandler.ShowToastMessage(strContent);
sCocos2dxActivity.mHandler.sendMessage(msg);
}
不在线程中去调用的话,是正常的,
放在线程中去调用的话,放在手机上就程序就奔溃了
public static void showToast(final String strContent)
{
Message msg = new Message();
msg.what = Cocos2dxHandler.HANDLER_SHOW_TOAST;
msg.obj = new Cocos2dxHandler.ShowToastMessage(strContent);
sCocos2dxActivity.mHandler.sendMessage(msg);
}
不在线程中去调用的话,是正常的,
放在线程中去调用的话,放在手机上就程序就奔溃了
没有找到相关结果
已邀请:
1 个回复
独孤求败
子线程函数里需要使用AttachCurrentThread()和DetachCurrentThread()这两个函数。你需要gJvm->AttachCurrentThread(&env, NULL)来获取env。