cocos 2dx调用android方法报错

.h文件

#include <string>
#include "cocos2d.h"

using namespace std;
namespace ThirdpartyManager
{
    void test();
}

.cpp

#include "ThirdpartyManager.h"
#include "cocos2d.h"
#include <Jni.h>
#include "platform/android/jni/JniHelper.h"
#define JAVA_CLASSNAME "org/cocos2dx/cpp/AppActivity"

using namespace cocos2d;
namespace ThirdpartyManager{
    void test()
    {
        cocos2d::log("调用test");
        JniMethodInfo minfo;
        bool isHave = JniHelper::getMethodInfo(minfo,JAVA_CLASSNAME,"test", "()V");
        if (isHave)
        {
            cocos2d::log("调用test成功");
            minfo.env->CallVoidMethod(minfo.classID, minfo.methodID);
        }
        else
        {
            cocos2d::log("JniFun call callJava_getAppVersion error!");
        }

    }
}

java代码:

public class AppActivity extends Cocos2dxActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.setEnableVirtualButton(false);
        super.onCreate(savedInstanceState);
        // Workaround in https://stackoverflow.com/questions/16283079/re-launch-of-activity-on-home-button-but-only-the-first-time/16447508
        if (!isTaskRoot()) {
            // Android launched another instance of the root activity into an existing task
            //  so just quietly finish and go away, dropping the user back into the activity
            //  at the top of the stack (ie: the last state of this task)
            // Don't need to finish it again since it's finished in super.onCreate .
            return;
        }
        // DO OTHER INITIALIZATION BELOW
        
    }

    public void  test(){
        Log.d("test","调用test方法");
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(AppActivity.this,"test```````````````",Toast.LENGTH_SHORT).show();
                AlertDialog.Builder bl = new AlertDialog.Builder(AppActivity.this);
                bl.setTitle("test");
                bl.setMessage("test~~~~~~~~~~~~~~");
                bl.show();
            }
        });
    }

}
然后在这一步报错:


请问怎么解决?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值