注册

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);
}
不在线程中去调用的话,是正常的,
放在线程中去调用的话,放在手机上就程序就奔溃了

已邀请:
调用toast不需要再另起线程啊,另起线程容易出现问题
子线程函数里需要使用AttachCurrentThread()和DetachCurrentThread()这两个函数。你需要gJvm->AttachCurrentThread(&env, NULL)来获取env。

要回复问题请先登录注册