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

共1个回复

独孤求败

2015-02-22 13:05

调用toast不需要再另起线程啊,另起线程容易出现问题 子线程函数里需要使用AttachCurrentThread()和DetachCurrentThread()这两个函数。你需要gJvm->AttachCurrentThread(&env, NULL)来获取env。
点击此处继续提问与开发者们互动

申请试用

提交后工作人员会尽快与您联系进行功能演示
技术咨询已转移到管理后台,请先登录

即时通讯云使用者请在应用详情页面咨询
客服云使用者请进入管理员模式咨询

×

在线咨询

电话咨询

技术咨询

免费试用