好了,接通onResp了,又一个问题出来了。App采用的cocos框架,这个回调最终要去到js层,android下通过调用Cocos2dxJavascriptJavaBridge.evalString方法,运行js代码。
evalString方法限制
这个方法有个限制,必须在gl线程运行,也就是说WXEntityAcitivity.onResp必须将数据传到Cocos2dxActivity,然后runOnGLThread。这个在cocos官网有介绍:
//一定要在GL线程中执行
app.runOnGLThread(new Runnable() {
@Override
public void run() {
Cocos2dxJavascriptJavaBridge.evalString("cc.log(\"Javascript Java bridge!\")");
}
});
如何在activity之间传送数据
综合下来,最后采用了扩展程序默认Application的办法。通过Intent的方法是有坑的,各位可以试试,或者有高手可以指点在下。
Application代码:
import android.app.Application;
public class MyApp extends Application
{
private String mStr;
public String getStr()
{
return this.mStr;
}
public void setStr(String str)
{
this.mStr = str;
}
}
AndroidManifest.xml配置
<application android:name=".MyApp" android:icon="@drawable/icon" android:label="@string/app_name">
####MyApp使用####
MyApp myApp = (MyApp)getApplication();
String str = myApp.getStr();
全局可用。