cocos2dx代碼調用本地瀏覽器步驟詳解

lidki 9年前發布 | 2K 次閱讀 C/C++ Cocos2Dx

1.找到ndk路徑/sources/cocos2dx/platform/android/CCApplication.h添加方法

void openURL(const char* pszUrl);

2找到ndk路徑/sources/cocos2dx/platform/android/CCApplication.cpp實現方法

void CCApplication::openURL(const char* pszUrl)
{
JniMethodInfo minfo;
if (JniHelper::getStaticMethodInfo(minfo,
"org/cocos2dx/lib/Cocos2dxActivity",  //src路徑下的文件
"openURL", //Cocos2dxActivity文件的方法(下面會添加)
"(Ljava/lang/String;)V"))                      //openURL()方法的參數類型Object,返回值類型void
{
jstring StringArg1 = minfo.env->NewStringUTF(pszUrl);
minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID, StringArg1);
minfo.env->DeleteLocalRef(StringArg1);
minfo.env->DeleteLocalRef(minfo.classID);
}
}

3.找到Cocos2dxActivity.java 導入命名空間

import android.content.Intent;
import android.net.Uri;

4.Cocos2dxActivity.java中添加 

private static Activity wu= null;

修改onCreate()為

protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sContext = this;
    this.mHandler = new Cocos2dxHandler(this);
    wu = this;
    this.init();
Cocos2dxHelper.init(this, this);
}

添加方法

  //實現瀏覽器模塊的調用
   public static void openURL(String url) 
     { 
           Intent intent = new Intent(Intent.ACTION_VIEW);  
           intent .setData(Uri.parse(url));
           wu.startActivity(i);
     }

在想調用的地方實現調用

CCApplication::sharedApplication()->openURL("http://www.mcttqp.com/Download/djmxd.apk");

 本文由用戶 lidki 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!