Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android-ndk – 从java(android)调用C(cocos2dx)方法进行我的应用内结算大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_6@ 我正在尝试在我的cocos2dx- android项目中添加应用内结算.我可以通过jni从c类调用 java函数.

这是我通过jni调用我的java函数的方式.

JniMethodInfo t;
        JniHelper::getStaticMethodInfo(t,"com/test/project/Project","BuyProduct","(Ljava/lang/String;)V");

        char buffer[20];
        sprintf(buffer,"product1");
        jString StringArg1 = t.env->NewStringUTF(buffer);

    t.env->CallStaticVoidMethod(t.classID,t.methodID,StringArg1);

应用内结算工作正常,但现在我必须给我的c类打电话,告知产品购买是否成功.

只能通过提到指定的返回类型返回调用@L_618_9@的结果,但是应用程序内进程是一个异步进程 – 经过大量的@L_618_9@调用,我的控件不会返回到同一个@L_618_9@.所以返回一个值是行不通的.

那么有没有其他@L_618_9@将值(在我的情况下是应用程序内购买的结果)从java函数传递给我的c类???

@H_404_22@解决方法
检查cocos2dxHelper.cpp文件,看看cocos2dx如何调用c@L_618_9@.
基本上cocos2dxHelper.java中有一个@L_618_9@只有定义而不是实现,通常它看起来像

public static native blahblah();

并且在cpp文件中有一个相应的函数调用

Java_org_cocos2dx_cocos2dxHelper_blahblah()

如果你用runOnUIThread()调用Java代码中的blahblah(),那就是c函数

Java_org_cocos2dx_cocos2dxHelper_blahblah()

将被召唤.

便说一句,c代码需要在extern C {}中

大佬总结

以上是大佬教程为你收集整理的android-ndk – 从java(android)调用C(cocos2dx)方法进行我的应用内结算全部内容,希望文章能够帮你解决android-ndk – 从java(android)调用C(cocos2dx)方法进行我的应用内结算所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。