欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > HTML >内容正文

HTML

cocos2dx 调用oc java_cocos2dx 调用浏览器打开网址

发布时间:2025/3/21 HTML 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 cocos2dx 调用oc java_cocos2dx 调用浏览器打开网址 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、修改安卓端:

CCApplication.cpp/h 打开路径:cocos2dx/platform/android目录,在类中增加函数:

声明

public:

//jingz 龙谷修改

void

openURL(const char* pszUrl);

cpp实现:

//jingz 龙谷修改

void CCApplication::openURL(const char* pszUrl)

{

JniMethodInfo

minfo;

if(JniHelper::getStaticMethodInfo(minfo,

"org/cocos2dx/lib/Cocos2dxActivity",

"openURL",

"(Ljava/lang/String;)V"))

{

jstring

StringArg1 = minfo.env->NewStringUTF(pszUrl);

minfo.env->CallStaticVoidMethod(minfo.classID,

minfo.methodID, StringArg1);

minfo.env->DeleteLocalRef(StringArg1);

minfo.env->DeleteLocalRef(minfo.classID);

}

}

2、修改IOS端:

类似实现,IOS中.h/mm文件的OC代码中增加,在NS_CC_END前面增加

声明:

//jingz 龙谷修改

void openURL(const char *

pszUrl);

实现:

//jingz 龙谷

void CCApplication::openURL(const char* pszUrl)

{

//原作者的写法,在IOS平台是行不通的

//更改如下

NSString  *urlText =

[NSString

stringWithFormat:@"%s",pszUrl];

[[UIApplication sharedApplication]

openURL:[NSURL URLWithString:urlText]];

}

3、platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java增加网络模块的调用

引入包:import android.content.Intent;

import android.net.Uri;

声明类型:

//jingz

private static Activity me = null;

修改函数实现:

@Override

protected void onCreate(final Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

sContext = this;

this.mHandler

= new Cocos2dxHandler(this);

//jingz

龙谷修改

me

= this;

this.init();

Cocos2dxHelper.init(this, this);

}

//实现浏览器模块的调用

public static void openURL(String

url)

{

Intent

i = new Intent(Intent.ACTION_VIEW);

i.setData(Uri.parse(url));

me.startActivity(i);

}

总结

以上是生活随笔为你收集整理的cocos2dx 调用oc java_cocos2dx 调用浏览器打开网址的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。