码迷,mamicode.com
首页 > Web开发 > 详细

cocos2d-x 用浏览器打开网页

时间:2014-08-08 23:58:36      阅读:713      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   color   java   os   io   

转自:http://www.xuebuyuan.com/1396292.htmlhttp://www.cocoachina.com/bbs/read.php?tid=88589

First!!

源代码里加入:

//判断当前是否为Android平台
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
    //定义Jni函数信息结构体
    JniMethodInfo minfo;
    bool isHave = JniHelper::getStaticMethodInfo(minfo,"com/xxx/xxx/xxx","openUrl", "(Ljava/lang/String;)V");
    if (isHave)
    {
        minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID);
    }
    #endif

jni的头文件么找一下include进来就好

这里要注意的就是getStaticMethodInfo这个函数,以下对此函数的介绍转自:http://blog.csdn.net/xiaominghimi/article/details/7602984

 

此函数有3个参数:

第一参数: minfo  ->JniMethodInfo 类型;

第二个参数:类的路径(我搞的是proj.android/src/xx/xxx/xxx...下面那个,还有这个不需要加.java后缀)

第三个参数:方法名(第一参数类中的函数)

第四个参数:(参数)返回类型

关于第二个和第三个参数都比较容易理解,那么第四个参数需要重点介绍一下;例如你在Java中定义一个如下函数   public void helloJni(){};

那么getStaticMethodInfo函数第三个参数你应该传入   “()V”  表示此函数无参无返回值!

如果有这么一个函数: public int helloJni(int _int){return 823};

那么getStaticMethodInfo函数第三个参数你应该传入   “(I)I”  表示此函数需要传入一个int类型的参数并且返回一个int类型!

大概说两个童鞋们应该基本理解了,那么下面详细写一些对照表,留给大家对照;

 参数、返回值样式对照表:

bubuko.com,布布扣

注意:最后两项的那个分号也是要加的!!

Second!!

在项目里找到Cocos2dxActivity.java这个东西,如图:

bubuko.com,布布扣

没标出来,反正应该能找到,就在那个org.cocos2dx.lib里。

在里面加一个函数:

//加我
public static void openUrl(String url)
{
      Uri uri = Uri.parse(url);
      Intent it = new Intent(Intent.ACTION_VIEW,uri);
      sContext.startActivity(it);
} 

上面的sContext是在Cocos2dxActivity的onCreate函数里生成后被赋值为了this,不同版本可能叫法不一样,看着改改就好了。

//就是这个函数
protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        sContext = this;
        this.mHandler = new Cocos2dxHandler(this);
        this.init();
        Cocos2dxHelper.init(this, this);
}

其实把openUrl加在自己项目的那个java里也是可以的,把那个sContext改成非private的就行。直接用this的话不行,函数是static的。那函数改成非static行不行呢?最上面那个函数是getStaitcMethodInfo,估计是不行,但我懒得试……

 

IOS:

[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"http://www.baidu.com"]];

cocos2d-x 用浏览器打开网页,布布扣,bubuko.com

cocos2d-x 用浏览器打开网页

标签:android   style   blog   http   color   java   os   io   

原文地址:http://www.cnblogs.com/sevenyuan/p/3900302.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!