配置: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
問題的解決)