查看类路径方法:
javap -s YourClassName
定义:
打开: \项目\proj.android\src\org\项目名\你的游戏名
public class FNXN extends Cocos2dxActivity{ …… …… public static AdView adView; // 第3方广告 …… …… }
方法1:
android 代码:
public static void TESTADS() {
new Thread(new Runnable(){
@Override
public void run() {
adView.setVisibility( adView.VISIBLE );
}
}).start();
}
C++ 代码:
载入头文件
#include <jni/JniHelper.h>
JniMethodInfo minfo;
jobject jobj;
bool b = JniHelper::getStaticMethodInfo(minfo,
"org/agame/fnxn/FNXN", //类路径 请修改成自己的类路径
"TESTADS", //静态方法名
"()V"); //括号里的是参数,后面的是返回值。
jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID);
方法2(广播):
和方法1大同小异
Android 代码:
private class MainHandler extends Handler
{
@Override
public void handleMessage(Message msg)
{
switch (msg.what)
{
case 1:
{
adView.setVisibility( adView.VISIBLE );
break;
}
case 2:
{
adView.setVisibility( adView.GONE );
break;
}
default:
break;
}
}
}
在onCreate里添加下列代码
protected void onCreate(Bundle savedInstanceState){……
super.onCreate(savedInstanceState);
//添加
mHandler = new MainHandler();
……
}
继续添加静态函数:
public static void SendMsg(int i)
{
mHandler.sendEmptyMessage(i);
Log.i("A", "SendMsg:"+i);
}
C++ 代码 :
调用 SendMsg 就可以了
JniMethodInfo minfo;
jobject jobj;
jint _int = 1;
bool b = JniHelper::getStaticMethodInfo(minfo,
"org/agame/fnxn/FNXN", //类路径
"SendMsg", //静态方法名
"(I)V"); //括号里的是参数,后面的是返回值。
jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID, 1 );