配置:OS X 10.10 + Xcode 6.0 + Cocos2d-x-3.2php
一、在 Cocos2dxActivity.java 中添加openUrl函数并导入响应包文件。html
import android.net.Uri; // 须要导入的包 public static void openUrl() { Uri uri = Uri.parse("http://weibo.com/2282161187/profile?topnav=1&wvr=6"); Intent it = new Intent(Intent.ACTION_VIEW,uri); this.startActivity(it); }
附注:java
Cocos2dxActivity.java
的具体所在路径:.../cocos2d/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java
android
上面代码中的 this 须要作替换,不然会报错没法从静态上下文中引用非静态 变量 this
,在 Cocos2d-x 3.2 版本中替换为sContext
。对于其余版本,给你们提供个线索,private static Cocos2dxActivity sContext = null;
。ios
二、在须要打开连接的位置添加以下代码便可实现跳转函数
// 添加头文件 #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) #include "platform/android/jni/JniHelper.h" #endif
// 跳转代码 #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) //定义Jni函数信息结构体 JniMethodInfo minfo; bool isHave = JniHelper::getStaticMethodInfo(minfo,"org/cocos2dx/lib/Cocos2dxActivity","openUrl", "()V"); if (isHave) { minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID); } #endif
附注:this
头文件中平台宏的缘由是JniHelper.h
中用到了Android平台相关的头文件,若是在 Xcode 下编译会出现错误:"jni.h" file not found
。(别问我怎么知道的。。)url
一、直接添加以下代码.net
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"http://weibo.com/2282161187/profile?topnav=1&wvr=6"]];
二、把文件改成.mm格式。code
cocos2d-x如何打开一个url?(在讨论中介绍了打开url的方法以及)
Xcode 下 jni.h file not found 求教啊(关于"jni.h" file not found
问题的解决)