cocos2dx在android5.0+中传递表情符号NewStringUTF报错问题

  项目里面需要从js传递表情符号到java来做android推送的需求。测试的时候发现在android5.02系统上NewStringUTF会报错。调试的时候会闪退,运行的时候表情变成乱码。具体是在frameworks/js-bindings/cocos2d-x/cocos/scripting/js-bindings/manual/platform/android/CCJavascriptJavaBridge.cpp文件中。

网上搜了下,没有详细的解决方案,但是提供了思路,就是不传string类型,而是传递byte数组类型,再到java端把byte数组转换成string类型。jni是支持byte数组的,用符号 [B 来表示。但是CCJavascriptJavaBridge中不支持。所以需要在CCJavascriptJavaBridge中修改一下。

这样就可以使用byte数组了,在js端这样使用

在java端可以这样用

猜你喜欢

转载自blog.csdn.net/pengchengo/article/details/84762220